您好,欢迎来到抵帆知识网。
搜索
您的当前位置:首页031第八讲_组态王与数据库连接

031第八讲_组态王与数据库连接

来源:抵帆知识网
031第八讲_组态王与数据库连接

第八讲 组态王与数据库连接

第一节 SQL 访问管理器 概述

组态王SQL 访问功能实现组态王和其他外部数据库(通过ODBC 访问接口)之间的数据传输。它包括组态王的SQL 访问管理器和相关的SQL 函数。

SQL 访问管理器用来建立数据库字段和组态王变量之间的联系,包括“表格模板”和“记录体”两部分。通过表格模板在数据库表中建立相应的表格;通过记录体建立数据库字段和组态王之间的联系。同时允许组态王通过记录体直接操作数据库中的数据。

创建数据源及数据库

首先外建一个数据库,这里我们选用Access 数据库(路径:d:\\peixun ,数据库名为:mydb.mdb )。 然后,用Windows 控制面板中自带的ODBC Data Sources (32bit)管理工具新建一个Microsoft Access Driver(*.mdb)驱动的数据源,名为:mine ,然后配置该数据源,指向刚才建立的Access 数据库(即mydb .mdb ),如图8-1所示:

图8-1ODBC 数据源的建立 创建表格模板

1、在工程浏览器窗口左侧“工程目录显示区”中选择“SQL访问管理器”中的“表格模板”选项,在右侧“目录内容显示区”中双击“新建”图标弹出创建表格模板对话框,在对话框中建立三个字段,如图8-2所示:

图8-2创建表格模板对话框

2、单击“确认”按钮完成表格模板的创建。

建立表格模板的目的是定义数据库格式,在后面用到

SQLCreatTable()函数时以此格式在Access数据库中自动建立表格。

创建记录体

1、在工程浏览器窗口左侧“工程目录显示区”中选择“SQL访问管理器”中的“记录体”选项,在右侧“目录内容显示区”中双击“新建”图标弹出创建记录体对话框,对话框设置如图8-3所示:

图8-3创建记录体对话框 关系,对应关系如下所示:

记录体中定义了Access数据库表格字段与组态王变量之间的对应

即:将组态王中\\\\本站点\\$日期变量值写到Access数据库表格日期字段中;将\\\\本站点\\$时间变量值写到Access数据库表格时间字段中;将\\\\本站点\\原料油液位值写到Access数据库表格原料油液位值字段中;

2、单击“确认”按钮完成记录体的创建。

注:记录体中的字段名称必须与表格模板中的字段名称保持一致,记录体中字段对应的变量数据类型必须和表格模板中相同字段对应的数据类型相同。

第二节对数据库的操作 连接数据库

1、在工程浏览器窗口的数据词典中定义一个内存整型变量: 变量名:DeviceID 变量类型:内存整型

2、新建一画面,名称为:数据库操作画面。

3、选择工具箱中的工具,在画面上输入文字:数据库操作。 4、在画面中添加一按钮,按钮文本为:数据库连接。 5、在按钮的弹起事件中输入如下命令语言,如图8-4所示:

图8-4数据库连接命令语言 mydb.mdb数据库建立了连接)。

在实际工程中将此命令写入:工程浏览器〉命令语言〉应用程序命令语言〉启动时中,即系统开始运行就连接到数据库上。

创建数据库表格

1、在数据库操作画面中添加一按钮,按钮文本为:创建数据库表格。

2、在按钮的弹起事件中输入如下命令语言,如图8-5所示:

上述命令语言的作用是使组态王与mine数据源建立了连接(即与

图8-5创建数据库表格命令语言

上述命令语言的作用是以表格模板“Table1”的格式在数据库中

建立名为“KingTable”的表格。在生成的KingTable表格中,将生成三个字段,字段名称分别为:日期,时间,原料油液位值,每个字段的变量类型、变量长度及索引类型与表格模板“Table1”中的定义一致。

此命令语言只需执行一次即可,如果表格摸板有改动,需要用户

先将数据库中的表格删除才能重新创建。在实际工程中将此命令写入:工程浏览器〉命令语言〉应用程序命令语言〉启动时中,即系统开始运行就建立数据库表格。

插入记录

1、在数据库操作画面中添加一按钮,按钮文本为:插入记录。 2、在按钮的弹起事件中输入如下命令语言,如图8-6所示:

图8-6插入记录命令语言

上述命令语言的作用是在表格KingTable中插入一个新的记录。 按下此按钮后,组态王会将bind1中关联的组态王变量的当前值

插入到Access数据库表格“KingTable”中,从而生成一条记录,从而达到了将组态王数据写到外部数据库中的目的,

查询记录

用户如果需要将数据库中的数据调入组态王来显示,需要另外建立一个记录体,此记录体的字段名称

要和数据库表格中的字段名称一致,连接的变量与数据库中字段的类型一致,操作过程如下:

1、在工程浏览器窗口的数据词典中定义三个内存变量: a、变量名:记录日期 变量类型:内存字符串 初始值:空

b、变量名:记录时间 变量类型:内存字符串 初始值:空

c、变量名:原料油液位返回值 变量类型:内存实型 初始值:0

2、新建一画面,名称为:数据库查询画面。

3、选择工具箱中的工具,在画面上输入文字:数据库查询。 4、在画面上添加三个文本框,在文本框的“字符串输出”、“模拟量值输出”动画中分别连接变量\\\\

本站点\\记录日期、\\\\本站点\\记录时间、\\\\本站点\\原料油液位返回值,用来显示查询出来的结果。

5、在工程浏览窗口中定义一个记录体,记录体窗口属性设置如图8-7所示:

图8-7记录体属性设置对话框

6、在画面中添加一按钮,按钮文本为:得到选择集

7、在按钮的弹起事件中输入如下命令语言,如图8-8所示:

图8-8记录查询命令语言对话框

此命令语言的作用是:以记录体Bind2中定义的格式返回KingTable表格中第一条数据记录。

8、单击“文件”菜单中的“全部存”命令,保存您所作的设置。 9、单击“文件”菜单中的“切换到VIEW”命令,进入运行系统。运行此画面,单击“得到选择集”按钮数据库中的数据记录显示在文本框中,如图8-9所示:

图8-9数据库记录查询

10、在画面上添加四个按钮,按钮属性设置如下: a、按钮文本:第一条记录

“弹起时”动画连接:SQLFirst( DeviceID ); b、按钮文本:下一条记录

“弹起时”动画连接:SQLNext( DeviceID ); c、按钮文本:上一条记录

“弹起时”动画连接:SQLPrev( DeviceID ); d、按钮文本:最后一条记录

“弹起时”动画连接:SQLLast( DeviceID );

上述命令语言的作用分别为查询数据中第一条记录、下一条记录、上一条记录和最后一条记录从而达到了数据查询的目的。

断开连接

1、在“数据库操作画面”中添加一按钮,按钮文本为:断开数据库连接。

2、在按钮的弹起事件中输入如下命令语言,如图8-10所示:

图8-10断开数据库连接命令语言

在实际工程中将此命令写入:工程浏览器〉命令语言〉应用程序命令语言〉退出时中,即系统退出后断开与数据库的连接。

第三节数据库查询控件

利用组态王提供的KvDBGrid Class 控件可方便地实现数据库查询工作,操作过程如下:

1、单击工具箱中的“插入通用控件”工具或选择菜单命令“编辑\\插入通用控件”,则弹出控件对话框。在控件对话框内选择“KvDBGrid Class”选项,如图8-11所示:

图8-11通用控件对话框

出的动画连接属性对话框中设置控件名称为:Grid1。

2、在画面中添加一KvDBGrid Class控件选中并双击控件,在弹3、选中控件并单击鼠标右键,在弹出的下拉菜单中执行“控件属性”命令弹出属性对话框,如图8-12所示:

图8-12 KvDBGrid Class控件属性对话框

单击窗口中的“浏览”按钮,在弹出的数据源选择对话框中选择前面创建的mine数据源,此时与此数据源连接的数据库中所有的表格显示在“表名称”的下拉框中,从中选择欲查询的数据库表格,(在

里我们选择前面建立的KingTable表格),此表格中建立的所有字段将显示在“有效字段”中,利用

和选择您所查询的字段名称并可通过“标题”和“格式”编辑框对字段进行编辑。

4、设置完毕后关闭此对话框,利用按钮的命令语言实现数据库查询和打印工作,设置如下:

按钮一:查询全部记录: grid1.FetchData() ; grid1.FetchEnd() ; 按钮二:条件查询: long aa;

aa= grid1.QueryDialog(); if (aa==1) {

grid1.FetchData(); grid1.FetchEnd(); }

按钮三:打印控件: grid1.Print() ; 课后复习

1、阅读附录三的KvdbGrid控件说明。

2、制作一个动态数据查询系统来查询数据记录。。。。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务