《组态王与数据库的链接.ppt》由会员分享,可在线阅读,更多相关《组态王与数据库的链接.ppt(13页珍藏版)》请在优知文库上搜索。
1、举例:举例: Access 数据库(通过数据库(通过ODBC 访问接口)实现访问接口)实现与组态王变量之间的联系。与组态王变量之间的联系。ODBC(Open Database Connectivity,开放式数据库连接标准)是,开放式数据库连接标准)是微软公司为其视窗操作系统推出的一套访问各种数据库的统一接口微软公司为其视窗操作系统推出的一套访问各种数据库的统一接口技术。技术。ODBC类似一种软件驱动程序,提供了应用软件与数据库之类似一种软件驱动程序,提供了应用软件与数据库之间的访问标准。间的访问标准。 第十讲第十讲 数据库查询数据库查询组态王组态王SQL 访问管理器用来建立数据库列和组态王变
2、访问管理器用来建立数据库列和组态王变量之间的联系。通过表格模板在数据库中创建表格;通量之间的联系。通过表格模板在数据库中创建表格;通过记录体建立数据库表格列和组态王之间的联系,允许过记录体建立数据库表格列和组态王之间的联系,允许组态王通过记录体直接操纵数据库中的数据。组态王通过记录体直接操纵数据库中的数据。1、创建数据源及数据库、创建数据源及数据库外建一个外建一个Access数据库,(路径:数据库,(路径:d:,数据库名为:,数据库名为:mydb.mdb););用用Windows 控制面板中自带的控制面板中自带的ODBC Data Sources (32bit)管理工具新管理工具新建一个建一个
3、Microsoft Access Driver(*.mdb)驱动的数据源,名为:驱动的数据源,名为:mine。 双击双击“数据源数据源 (ODBC)” “系统系统DSN” “增加增加” “Microsoft Access Driver(*.mdb)”驱动程序驱动程序“完成完成”。输入数据源名称:输入数据源名称:mine选择数据库选择数据库2、创建表格模板、创建表格模板选择选择“SQL 访问管理器访问管理器”中的中的“表格模板表格模板”选项,如图所示:选项,如图所示:索引功能是数据库用于加速字段索引功能是数据库用于加速字段中搜索及排序的速度,但可能会中搜索及排序的速度,但可能会使更新变慢。选择使
4、更新变慢。选择“是(唯一)是(唯一)”可以禁止该字段中出现重复值;可以禁止该字段中出现重复值;选中该项,将在前面的方框中选中该项,将在前面的方框中出现出现“”标志,表示数据标志,表示数据记录到数据库的表格中该字段记录到数据库的表格中该字段可以有空值。不选中该项则表可以有空值。不选中该项则表示该字段的数据不能为空值;示该字段的数据不能为空值;3、创建记录体、创建记录体选择选择“SQL 访问管理器访问管理器”中的中的“记录体记录体”选项,如图所示:选项,如图所示:记录体中定义了记录体中定义了Access 数据库表格字段与组态王变量之数据库表格字段与组态王变量之间的对应关系,对应关系如下:间的对应关
5、系,对应关系如下:注:注:记录体中的字段名称必须与表格模板中的字段名称保持记录体中的字段名称必须与表格模板中的字段名称保持一致,一致,记录体中字段对应的变量数据类型必须和表格模板中相记录体中字段对应的变量数据类型必须和表格模板中相同字段对应的数据类型相同。同字段对应的数据类型相同。4、 对数据库的操作对数据库的操作1)连接数据库)连接数据库在工程浏览器窗口的数据词典中定义一个内存整型变量:在工程浏览器窗口的数据词典中定义一个内存整型变量:DeviceID新建一画面,名称为:数据库操作画面。新建一画面,名称为:数据库操作画面。在画面上输入文字:数据库操作。在画面上输入文字:数据库操作。在画面中添
6、加一按钮,按钮文本为:数据库连接。在画面中添加一按钮,按钮文本为:数据库连接。在按钮的弹起事件中输入如下命令语言:在按钮的弹起事件中输入如下命令语言: SQLConnect( DeviceID, dsn=mine2;uid=;pwd=);上述命令语言的作用是使组态王与上述命令语言的作用是使组态王与mine2数据源建立了数据源建立了连接(即与连接(即与mydb2.mdb 数据库建立了连接)。数据库建立了连接)。SQLConnect 连接组态王和数据库。连接组态王和数据库。 语法:语法: SQLConnect(DeviceID, dsn=;uid=;pwd=); 2)创建数据库表格)创建数据库表格
7、SQLCreateTable( DeviceID, KingTable, table1 );SQLCreateTable 以表格模板中定义的表格类型,在数据库中创建新表。以表格模板中定义的表格类型,在数据库中创建新表。 语法语法: SQLCreateTable(DeviceID,TableName, TemplateName); DeviceID:SQLConnct()产生的连接号产生的连接号 ;TableName:想要创建的数据库名:想要创建的数据库名 ;TemplateName:表格模板名。:表格模板名。 3)插入记录)插入记录SQLInsert( DeviceID, KingTable,
8、 Bind1 );SQLInsert 在表格中插入一个新的记录。在表格中插入一个新的记录。 语法:语法: ResultCode=SQLInsert(DeviceID, TableName, BindList); 参数描述参数描述 DeviceID:SQLConnct()产生的连接号产生的连接号 TableName:表格名表格名 BindList:记录体:记录体 5)查询记录)查询记录用户如果需要将数据库中的数据调入组态王来显示,需要另用户如果需要将数据库中的数据调入组态王来显示,需要另外建立一个记录体,此记录体的字段名称要和数据库表格中外建立一个记录体,此记录体的字段名称要和数据库表格中的字段
9、名称一致,连接的变量与数据库中字段的类型一致,的字段名称一致,连接的变量与数据库中字段的类型一致,操作过程如下:操作过程如下:在工程浏览器窗口的数据词典中定义三个内存变量:在工程浏览器窗口的数据词典中定义三个内存变量:a、变量名:记录日期、变量名:记录日期 变量类型:内存字符串变量类型:内存字符串 初始值:空初始值:空b、变量名:记录时间、变量名:记录时间 变量类型:内存字符串变量类型:内存字符串 初始值:空初始值:空c、变量名:原料油液位返回值、变量名:原料油液位返回值 变量类型:内存实型变量类型:内存实型 初始值:初始值:0在画面上添加三个文本框,在文本框的在画面上添加三个文本框,在文本框
10、的“字符串输出字符串输出”、“模拟量值模拟量值输出输出”动画中分别连接变量动画中分别连接变量本站点本站点记录日期、记录日期、本站点本站点记录时间、记录时间、本站点本站点原料油液位返回值,用来显示查询出来的结果。原料油液位返回值,用来显示查询出来的结果。在工程浏览窗口中定义一个记录体在工程浏览窗口中定义一个记录体Bind2,记录体窗口属性设置如图:,记录体窗口属性设置如图:在按钮的弹起事件中输入如下命令语言在按钮的弹起事件中输入如下命令语言SQLSelect( DeviceID, KingTable, Bind2, , );SQLSelect:访问数据库。:访问数据库。 语法:语法: SQLSe
11、lect(DeviceID,TableName,BindList, hereExpr,OrderByExpr)参数描述参数描述 TableName :表格名称表格名称 BindList :记录体记录体 WhereExpr :指定函数起作用行的条件:指定函数起作用行的条件 例选择例选择“年龄年龄”列中在列中在20和和30之间的行:之间的行: 年龄年龄=20 and 年龄年龄30 OrderByExpr :定义排序的列和方向。定义排序的列和方向。例如:例如:“温度温度 ASC”以以“温度温度”列的升序排序列的升序排序 第一条记录:第一条记录:SQLFirst( DeviceID );下一条记录:下一条记录:SQLNext( DeviceID );上一条记录:上一条记录:SQLPrev( DeviceID );最后一条记录:最后一条记录:SQLLast( DeviceID );断开数据库断开数据库: SQLDisconnect ( DeviceID )。