首页 新闻 工控搜 论坛 厂商论坛 产品 方案 厂商 人才 文摘 下载 展览
首页 | 培训研讨 | 公司简介 | 联系方式 | 公司动态 | 产品 | 应用实例 | 下载 | 文摘 | 诚聘 |
紫金桥组态软件与关系数据库之间数据存储与调取的应用

---作者:王伟

紫金桥软件技术有限公司
收藏本文     查看收藏

 

随着控制系统功能的增强与多系统之间数据共享需求的增大,组态软件与关系数据库之间的通讯也愈加频繁,二者之间的数据共享也变得越来越重要。随着业务需求的逐渐增大,怎样将复杂的通讯与功能实现简单化也成为了众多商家的一个重要竞争点。为方便广大用户,紫金桥组态软件特推出一新的功能组件——ObDataTable,通过该组件,用户可以很简单的实现紫金桥组态软件与关系数据库的数据共享。组件ObDataTable作为中间媒介,将紫金桥组态软件中的自由报表与关系数据库按照一定的关系连接起来。
 
 
1 数据流向关系
 
对于一些复杂的综合报表,报表中的数据来源或者去向并不统一。比如我们把数据划分为好几个区域,区域A中的数据要存储到表A中,区域B中的数据要存储到表B中等等。按照通常的方法,会通过紫金桥内的SQL函数写一些脚本将数据存到关系库中,但是这样的方法比较复杂,且代码量通常都比较大,编写起来比较麻烦,而现在通过组件ObDataTable将会把工作简单化,下面讲解具体实现方法。
 
在讲解实现方法时,先介绍一下四个函数:
 
1、                GetFromTable(),此为自由报表函数,函数功能为从ObDataTable中获得数据。
2、                SetToTable(),此为自由报表函数,函数功能为将数据放置到ObDataTable中。
3、                SQLGetToTable(),此为紫金桥内部SQL函数,函数功能为将数据集中全部数据复制到ObDataTable中。
4、                SQLInsertFromTable(),此为紫金桥内部SQL函数,函数功能为将ObDataTable中数据插入到数据库中。
 
 
2 报表区域划分说明
 
如上图所示,该报表划分为三个区域。首先,要在关系库中建立三个表,分别为表A,表B,表C。按照报表中三个区域的规格建立相应的字段,注:关系库表中的字段数,类型要与报表中的完全对应。
 
其次,编写数据存入与读取脚本。在向关系库插入数据时分为两个步骤:
 
一、                  将报表中的数据存入到ObDataTable中。期间调用函数报表函数SetToTable(),该函数能够指定报表中的区域,如选择的为区域A,函数执行过后,区域A中的数据则会全部存入到ObDataTable中。如:#FreeReport1.SetToTable(1,1,7,10,#ObDataTable,0)。函数意为将自由报表FreeReport1的区域17列,110行的数据全部存入到ObDataTable中。
 
二、                  将存入到ObDataTable中的数据写入到关系库的表中。期间调用函数SQLInsertFromTable(),该函数执行过后将会将ObDataTable中的数据写入到关系库中相应的表中。该函数执行之前要调用SQLConnect()函数。如:
int ConnectID;
SQLConnect((ConnectID,”
数据源描述”);
SQLInsertFromTable(ConnectID,"
A",#ObDataTable1);
其中ConnectID为执行SQLConnect()之后的数据源表示返回值。数据源描述需要人为的填写。
 
这两步操作之后,区域A中的数据则会全部写入到关系库表A中。
 
从关系库中读取数据时同样也分为两个步骤:
一、                  将关系库表中的数据读取到ObDataTable中。期间要调用函数SQLGetToTable(),该函数要与SQLSelect()函数配合使用。首先要将关系库表中符合条件的数据通过SQLSelect()函数查出来,在通过SQLGetToTable()函数写入到ObDataTable中。如:
int ConnectID;
SQLConnect((ConnectID,”
数据源描述”);
SQLSelect(ConnectID,"
A","查询条件表达式");
SQLGetToTable(#ObDataTable1);
二、                  ObDataTable中的数据写入到自由报表中。期间要调用自由报表函数GetFromTable(),该函数可以将ObDataTable中的数据写入到自由报表中指定的区域。
如:#FreeReport1.GetFromTable(1,1,#ObDataTable1,0);函数意为将ObDataTable中的数据写入到自由报表从第一行,第一列开始的区域中。
 
这两步操作过后,关系库表A中符合查询条件的数据则会写入到自由报表区域A中。区域B,区域C的同理。
ObDataTable的出现,使紫金桥组态软件与关系库的通讯不在像以往那样繁琐,且功能实现简单,用户通过少量的脚本即可实现预想的功能,避免了大量的编写脚本时存在的潜在错误,方便广大用户操作使用。

 

状 态: 离线

公司简介
产品目录

公司名称: 紫金桥软件技术有限公司
联 系 人: 李磊
电  话: 0459-8151391-808
传  真: 0459-8151391-804
地  址: 大庆市高新区服务外包产业园C-1座817室
邮  编: 163316
主  页:
 
紫金桥软件相关解决方案:
某石化公司计量监控管理系统应用案例
跨平台实时数据库历史回放功能介绍
跨平台实时数据库如何实现表格的保存和读取
跨平台实时数据库脚本系统介绍
基于紫金桥实时数据库实现焦化厂生产能源调度信息管理系统
紫金桥声音报警实现的几种方式
基于紫金桥监控组态软件的天然气计量系统
基于紫金桥软件抄表系统解决方案
火狐浏览器紫金桥软件Web发布(open in ie方式)
紫金桥软件在供水泵站远程监控系统中的应用
基于紫金桥实时数据库实现焦化厂生产能源调度信息管理系统
紫金桥组态软件在除尘控制系统中的应用
更多紫金桥软件解决方案...
通过中华工控网在线留言紫金桥软件技术有限公司:
用户名: 密码: 免费注册为中华工控网会员
请留下您的有效联系方式,以方便我们及时与您联络
 
中华工控网 GKong.com制作发布 广告联系