前言
在理论工程项目中,有时工程不仅仅须要和实时数据库进行数据交换,有可能还须要和关系数据库进行数据交换,为此提供了多种与关系数据库通信的形式。如:自在报表,全局函数,绑定表等。当然也有免费的数据转储组件,本节不做探讨。本节次要介绍前两种形式:自在报表,全局函数。
自在报表
自在报表形式与关系数据库进行通信,首先在数据库中创立“报表关系数据源点”。该点在运行时负责和关系数据库进行联结,并且把从报表发来的命令转交关系数据库执行,并最终将关系数据库返回的后果传递给报表。
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 语句
留神:该语句不能与其余语句配合应用,如示例中抉择的后果不在其余语句操作的数据集中,因而不能显示。
视频演示
紫金桥知识库 - 理解紫金桥组态软件更多技术