紫金桥组态软件操作SQL关系数据库两种方法

http://www.realinfo.ltd/ 紫金桥组态论坛

紫金桥组态软件操作SQL关系数据库的两种方法

前言

在实际工程项目中,有时工程不仅仅需要和实时数据库进行数据交换,有可能还需要和关系数据库进行数据交换,为此提供了多种与关系数据库通讯的方式。如:自由报表,全局函数,绑定表等。当然也有收费的数据转储组件,本节不做讨论。本节主要介绍前两种方式:自由报表,全局函数。

方法一:通过自由报表取操作

自由报表方式与关系数据库进行通讯,首先在数据库中创建“报表关系数据源点”。该点在运行时负责和关系数据库进行联结,并且把从报表发来的命令转交关系数据库执行,并最终将关系数据库返回的结果传递给报表。

1、创建报表关系数据源点
在这里插入图片描述
2、创建报表,并关联报表关系数据源点
在这里插入图片描述
3、执行SQL语句
在这里插入图片描述
函数参考:

SqlSelectCmd(String csCmd)
说明:
设置报表查询的Select语句。报表虽然可以设置初始的Select语句,但是在这里可以更改它。比如Select * from db where UpdateTime > #2006-06-01 00:00:00#
 
参数:
csCmd: 需要设置的Select语句。
 
示例:
#Rep.SqlSelectCmd("需要设置的Select语句");//设置报表查询的Select语句。
SqlExeCmdNoRet(String csCmd)
说明:
向“报表关系数据源点”发送不需要返回记录集的SQL命令。
参数:
csCmd: 需要设置的Select语句。
 
示例:#Rep.SqlExeCmdNoRet("Insert Into db Values('2006-06-26 15:30:23','A1.PV',123)")
SqlGetError() As String
说明:
返回执行关系数据命令时返回的错误,常常用在报表的返回错误结果触发脚本上。
 
返回值:
字符型,发生的错误。
示例:
MsgBox(#rep.SqlGetError());//返回执行关系数据命令时返回的错误。

全局函数

全局函数查询方式包括两种方法,第一种是直接使用全局函数的方法;第二种是表模板和绑定表结合的方法。本节介绍第一种,直接使用函数操作关系库。

使用全局函数查询方式,首先要应用SQLConnect函数与指定的数据库建立连接,如果指定的远程数据库不存在,该函数可能要等待几十秒。当在web(包含StartWin)模式下时,缺省是通过实时数据库访问关系库,为了直接访问关系库,需要在使用SQLConnect之前执行语句:“SQLSetHost(“NONE”);”SQLSetHost函数用来设置执行SQL语句的机器,以便SQL脚本在该远程机器上运行。当关系数据库连接使用完后,应该使用SQLDisconnect函数来断开连接。
1、SQLConnect函数连接数据库

2、执行SQL语句
在这里插入图片描述
SQLConnect函数里的ODBC串的获取:
1、通过鼠标脚本里的数据源选择功能选择
在这里插入图片描述
2、通过报表关系数据源点获得
在这里插入图片描述
相关函数:

SQLConnect(Int& ConnectID, String SourceDesc) As Bool
说明:
与指定的数据库建立连接。如果指定的远程数据库不存在,该函数可能要等待几十秒。在web(包含StartWin)模式下缺省是通过DB访问关系库,为了直接访问关系库,需要在使用SQLConnect()之前执行语句:“SQLSetHost("NONE");”。
参数:
ConnectID: 数据源标识,为返回值,该值将用于其它后续SQL函数。
SourceDesc: 数据源描述。数据源描述可以通过脚本中工具条按钮“SQL连接“按钮得到。
返回值:
0为失败,1为成功。
示例:
SQLConnect(ConnectID,"DSN=abc;DBQ=D:\abc.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;");
//与Access数据库文件abc.mdb建立连接
注意:
参数必须为变量,返回函数执行后的数据。数据源使用完后,使用SQLDisconnect来断开连接。
SQLExecute(Int ConnectID, String SqlCommand)
说明:
执行SQL命令。
参数:
ConnectID: 数据源标识,由SQLConnect调用返回。
SqlCommand: 要执行的SQL命令。
返回值:
无。
示例:
SQLExecute(ConnectID,"Select * From Mytab");//使用Connect关联的数据库,执行指定的SQL语句
注意:
该语句不能与其他语句配合使用,如示例中选择的结果不在其他语句操作的数据集中,因此不能显示。

演示视频:演示视频

玩转紫金桥组态软件

更多紫金桥使用技术文章—紫金桥知识库

新建了个QQ交流群,欢迎加入技术交流:522632608
QQ交流群

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值