首页 新闻 工控搜 论坛 厂商论坛 产品 方案 厂商 人才 文摘 下载 展览
中华工控网首页
  P L C | 变频器与传动 | 传感器 | 现场检测仪表 | 工控软件 | 人机界面 | 运动控制
  D C S | 工业以太网 | 现场总线 | 显示调节仪表 | 数据采集 | 数传测控 | 工业安全
  电 源 | 嵌入式系统 | PC based | 机柜箱体壳体 | 低压电器 | 机器视觉
紫金桥组态软件与关系数据库之间数据存储与调取的应用
紫金桥软件技术有限公司
收藏本文     查看收藏
随着控制系统功能的增强与多系统之间数据共享需求的增大,组态软件与关系数据库之间的通讯也愈加频繁,二者之间的数据共享也变得越来越重要。随着业务需求的逐渐增大,怎样将复杂的通讯与功能实现简单化也成为了众多商家的一个重要竞争点。为方便广大用户,紫金桥组态软件特推出一新的功能组件——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
主  页:
 
该厂商相关技术文摘:
跨平台实时数据库变量引用导航功能介绍
跨平台实时数据库 如何利用MODBUS仿真软件测试MODBUS驱动
紫金桥跨平台实时数据库如何实现多屏显示
紫金桥跨平台软实时数据库Web服务器和数据服务器分离访问的配置
紫金桥跨平台软件远程采集RealInfo6.5
使用虚拟机做的工程实现跨网Web访问
紫金桥软件Microsoft Office Access 2003的ODBC数据源配置
紫金桥软件闸门整体自动化监控系统
通过紫金桥软件来提高画面组态速度
组态软件在配套设备中的应用
紫金桥的关系库同步工具简介
紫金桥组态软件与欧姆龙PLC以太网通信(FINS命令)——CPU型号-CJ2M-CPU33
更多文摘...
立即发送询问信息在线联系该技术文摘厂商:
用户名: 密码: 免费注册为中华工控网会员
请留下您的有效联系方式,以方便我们及时与您联络

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 不良信息举报
工控网客服热线:0755-86369299
版权所有 中华工控网 Copyright©2022 Gkong.com, All Rights Reserved