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