前言

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

自在报表

自在报表形式与关系数据库进行通信,首先在数据库中创立“报表关系数据源点”。该点在运行时负责和关系数据库进行联结,并且把从报表发来的命令转交关系数据库执行,并最终将关系数据库返回的后果传递给报表。
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语句留神:该语句不能与其余语句配合应用,如示例中抉择的后果不在其余语句操作的数据集中,因而不能显示。

视频演示

紫金桥知识库-理解紫金桥组态软件更多技术