组态王数据库连接(组态王与数据库连接【第九讲 组态王与数据库连接】)
各位老铁们好,相信很多人对组态王数据库连接都不是特别的了解,因此呢,今天就来为大家分享下关于组态王数据库连接以及组态王与数据库连接【第九讲 组态王与数据库连接】的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
组态王连接数据库
是组态王的一个内置函数
ReportSetHistData
此函数为报表专用函数,按照用户给定的参数查询历史数据语法格式使用如下:
ReportSetHistData(ReportName, TagName, StartTime, SepTime, szContent);
参数说明:
ReportName:要填写查询数据结果的报表名称
TagName:所要查询的变量名称,类型为字符串型,即带引号。
StartTime:数据查询的开始时间,该时间是通过组态王 HTConvertTime函数转换的以1969年12月31日16:00:00为基准的长整型数,所以用户在使用本函数查询历史数据之前,应先将查询起始时间转换为长整型数值。
SepTime:查询的数据的时间间隔,单位为秒
szContent:查询结果填充的单元格范围
例如:
查询变量“压力”自2001年5月1日8:00:00以来的数据,查询间隔为30秒,数据报表的填充范围为’a2:a50’,表示竖排第一列从第二行到第五十行。
long StartTime;(StartTime为自定义变量)
StartTime=HTConvertTime(2001, 5, 1, 8, 0, 0);
ReportSetHistData(“历史数据报表”,“压力”, StartTime, 30,“a2:a50”);
参考:http://gx.gongkong.com/tech/class/file/1016.pdf
如何用组态王读取ACCESS数据库的数据
1.SQL访问管理器
SQL访问管理器用来建立数据库列和组态王变量之间的联系。包括表格模板和记录体两部分功能。通过表格模板在数据库表中建立表格;通过记录体建立数据库表格列和组态王之间的联系,允许组态王通过记录体直接操纵数据库中的数据。表格模板和记录体都是在工程浏览器中建立的。
2.创建表格模板
在工程浏览器中左侧工程目录显示区中选择“SQL访问管理器”下的“表格模板”项,在右侧目录内容显示区中双击“新建”,弹出“创建表格模板”对话框,如下图。
3.建立表格模板的目的在于定义一种格式,在后面用到是SQLCreatTable(),以次格式在Access数据库中建立表格。
4.创建记录体
在工程浏览器中左侧工程目录显示区中选择“SQL访问管理器”下的“记录体”项,在右侧目录内容显示区中双击“新建”,弹出“创建记录体”对话框,如下图。
5.其中:
字段名称填写数据库表格中的列名。
组态王变量填写和表格中指定列相关联的组态王变量。
6.建立Ms Access数据库
1.建立一空Access文件,定名。
2.定义数据源双击控制面板下的“ODBC数据源(32位)”选项,弹出“ODBC数据源管理器”对话框。选择“用户DSN”属性页,并单击“添加”按钮。
7.在弹出的“创建新数据源”对话框中,选择“Mirosoft Access Driver”单击“完成”按钮。
弹出“ODBC Microsoft Access安装”对话框,定义数据源名。
8.单击“选取”按钮,从中选择相应路径下刚刚定义的数据库文件。单击“确定”按钮,完成对数据源的配置。
9.对数据库的操作
首先在数据词典里建立变量DeviceID,为内存整形,是数据库连接时产生的连接号。这样就能读取access数据库的数据了。
组态王与数据库连接【第九讲 组态王与数据库连接】
第九讲组态王与数据库连接
第一节 SQL访问管理器
概述
组态王SQL访问功能实现组态王和其他外部数据库(通过ODBC访问接口)之间的数据传输。它包括组态王的SQL访问管理器和相关的SQL函数。
SQL访问管理器用来建立数据库字段和组态王变量之间的联系,包括“表格模板”和“记录体”两部分。通过表格模板在数据库表中建立相应的表格;通过记录体建立数据库字段和组态王之间的联系。同时允许组态王通过记录体直接操作数据库中的数据。
创建数据源及数据库
首先建一个数据库,这里我们选用Access数据库(路径:d:\peixun,数据库名为:mydb.accdb)。
然后,用Windows控制面板——管理工具——数据源(ODBC)新建一个Microsoft Access Driver(*.mdb,*.accdb)驱动的数据源,名为:mine,然后配置该数据源,指向刚才建立的Access数据库(即mydb.accdb),如图9-1所示:
图9-1 ODBC数据源的建立
创建表格模板
1、在工程浏览器窗口左侧“工程目录显示区”中选择“SQL访问管理器”中的“表格模板”选项,在右侧“目录内容显示区”中双击“新建”图标弹出创建表格模板对话框,在对话框中建立三个字段,如图9-2所示:
图9-2创建表格模板对话框
2、单击“确认”按钮完成表格模板的创建。
建立表格模板的目的是定义数据库格式,在后面用到SQLCreatTable()函数时以此格式在Access数据库中自动建立表格。
创建记录体
1、在工程浏览器窗口左侧“工程目录显示区”中选择“SQL访问管理器”中的“记录体”选项,在右侧“目录内容显示区”中双击“新建”图标弹出创建记录体对话框,对话框设置如图9-3所示:
图9-3创建记录体对话框
记录体中定义了Access数据库表格字段与组态王变量之间的对应关系,对应关系如下所示:
即:将组态王中\\local\$Date变量值写到Access数据库表格日期字段中;将\\local\$Time变量值写到Access数据库表格时间字段中;将\\local\原料油液位变量值写到Access数据库表格原料油液位值字段中;
2、单击“确认”按钮完成记录体的创建。
注:记录体中的字段名称必须与表格模板中的字段名称保持一致,记录体中字段对应的变量数据类型必须和表格模板中相同字段对应的数据类型相同。
第二节对数据库的操作
连接数据库
1、在工程浏览器窗口的数据词典中定义一个内存整型变量:
变量名:DeviceID
变量类型:内存整型
2、新建一画面,名称为:数据库操作画面。
3、选择工具箱中的工具,在画面上输入文字:数据库操作。
4、在画面中添加一按钮,按钮文本为:数据库连接。
5、在按钮的弹起事件中输入如下命令语言,如图9-4所示:
图9-4数据库连接命令语言
上述命令语言的作用是使组态王与mine数据源建立了连接(即与mydb.mdb数据库建立了连接)。
在实际工程中将此命令写入:工程浏览器〉命令语言〉应用程序命令语言〉启动时中,即系统开始运行就连接到数据库上。
创建数据库表格
1、在数据库操作画面中添加一按钮,按钮文本为:创建数据库表格。
2、在按钮的弹起事件中输入如下命令语言,如图9-5所示:
图9-5创建数据库表格命令语言
上述命令语言的作用是以表格模板“Table1”的格式在数据库中建立名为“KingTable”的表格。在生成的KingTable表格中,将生成三个字段,字段名称分别为:日期,时间,原料油液位值,每个字段的变量类型、变量长度及索引类型与表格模板“Table1”中的定义一致。
此命令语言只需执行一次即可,如果表格摸板有改动,需要用户先将数据库中的表格删除才能重新创建。在实际工程中将此命令写入:工程浏览器〉命令语言〉应用程序命令语言〉启动时中,即系统开始运行就建立数据库表格。
插入记录
1、在数据库操作画面中添加一按钮,按钮文本为:插入记录。
2、在按钮的弹起事件中输入如下命令语言,如图9-6所示:
图9-6插入记录命令语言
上述命令语言的作用是在表格KingTable中插入一个新的记录。
按下此按钮后,组态王会将bind1中关联的组态王变量的当前值插入到Access数据库表格“KingTable”中,从而生成一条记录,从而达到了将组态王数据写到外部数据库中的目的,查询记录
用户如果需要将数据库中的数据调入组态王来显示,需要另外建立一个记录体,此记录体的字段名称要和数据库表格中的字段名称一致,连接的变量与数据库中字段的类型一致,操作过程如下:
1、在工程浏览器窗口的数据词典中:
a、变量名:记录日期
变量类型:内存字符串
初始值:空
b、变量名:记录时间
变量类型:内存字符串
初始值:空
c、变量名:原料油液位返回值
变量类型:内存实型
初始值:0
2、新建一画面,名称为:数据库查询画面。
3、选择工具箱中的工具,在画面上输入文字:数据库查询。
4、在画面上添加三个文本框,在文本框的“字符串输出”、“模拟量值输出”动画中分别连接变量\\本站点\记录日期、\\本站点\记录时间、\\本站点\原料油液位返回值,用来显示查询出来的结果。
5、在工程浏览窗口中定义一个记录体,记录体窗口属性设置如图9-7所示:
图9-7记录体属性设置对话框
6、在画面中添加一按钮,按钮文本为:得到选择集
7、在按钮的弹起事件中输入如下命令语言,如图9-8所示:
图9-8记录查询命令语言对话框
此命令语言的作用是:以记录体Bind2中定义的格式返回KingTable表格中第一条数据记录。
8、单击“文件”菜单中的“全部存”命令,保存您所作的设置。
9、单击“文件”菜单中的“切换到VIEW”命令,进入运行系统。运行此画面,单击“得到选择集”按钮数据库中的数据记录显示在文本框中,如图9-9所示:
图9-9数据库记录查询
10、在画面上添加四个按钮,按钮属性设置如下:
a、按钮文本:第一条记录
“弹起时”动画连接:SQLFirst( DeviceID);
b、按钮文本:下一条记录
“弹起时”动画连接:SQLNext( DeviceID);
c、按钮文本:上一条记录
“弹起时”动画连接:SQL Prev( DeviceID);
d、按钮文本:最后一条记录
“弹起时”动画连接:SQL Last( DeviceID);
上述命令语言的作用分别为查询数据中第一条记录、下一条记录、上一条记录和最后一条记录从而达到了数据查询的目的。
断开连接
1、在“数据库操作画面”中添加一按钮,按钮文本为:断开数据库连接。
2、在按钮的弹起事件中输入如下命令语言SQL Disconnect( DeviceID);如图9-10所示:
图9-10断开数据库连接命令语言
在实际工程中将此命令写入:工程浏览器〉命令语言〉应用程序命令语言〉退出时中,即系统退出后断开与数据库的连接。
第三节数据库查询控件利用组态王提供的KV ADODBGrid Class控件可方便地实现数据库查询工作,操作过程如下:
1、单击工具箱中的“插入通用控件”工具或选择菜单命令“编辑\插入通用控件”,则
弹出控件对话框。在控件对话框内选择“KV ADODBGrid Class”选项,如图9-11所示:
图9-11通用控件对话框
2、在画面中添加一KV ADODBGrid Class控件选中并双击控件,在弹出的动画连接属性对话框中设置控件名称为:grid1。
第九讲组态王与数据库连接- 100-
3、选中控件并单击鼠标右键,在弹出的下拉菜单中执行“控件属性”命令弹出属性对话框,如图9-12所示:
图9-12控件属性对话框
单击窗口中的“浏览”按钮,在弹出的数据源选择对话框中选择前面创建的mine数据源,此时与此数据源连接的数据库中所有的表格显示在“表名称”的下拉框中,从中选择欲查询的数据库表格,(在这里我们选择前面建立的KingTable表格),此表格中建立的所有字段将显示在“有效字段”中,利用
“格式”编辑框对字段进行编辑。
4、设置完毕后关闭此对话框,利用按钮的命令语言实现数据库查询和打印工作,设置如下:
按钮一:查询全部记录:
grid1.FetchData();
grid1.FetchEnd();
按钮二:条件查询:
long aa;
aa= grid1.QueryDialog();
if(aa==1)
{
grid1.FetchData();
grid1.FetchEnd();
}
按钮三:打印控件:
grid1.Print();
按钮四:保存:(将控件查询出的数据以CSV为后缀名,保存到指定路径)
和选择您所查询的字段名称并可通过“标题”和
第九讲组态王与数据库连接- 101-
grid1.SaveToCSV(“d:\peixun\data.CSV”);
课后复习
1、阅读组态王软件帮助中的KV ADODBGrid Class控件帮助说明。
2、制作一个动态数据查询系统来查询数据记录。
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!