2022年组态王应用组态王对关系数据库的查询 .pdf
-
资源ID:32069670
资源大小:1.74MB
全文页数:18页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
![游客一键下载](/images/hot.gif)
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年组态王应用组态王对关系数据库的查询 .pdf
例程:组态王对关系数据库的查询北京亚控科技发展有限公司1 组态王对关系数据库的查询配置参考文档北京亚控科技发展有限公司技术部名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 18 页 - - - - - - - - - 例程:组态王对关系数据库的查询北京亚控科技发展有限公司2 目录一、功能概述.3一、功能概述.3二、工程实例.3三、操作步骤:.31、数据库以及表:.3 2、设置 ODBC 数据源: .3 3利用 SQL 函数进行查询:.7 3.1) 定义变量:.73.2) 定义记录体:.73.3) 建立组态王与数据库的关联:.73.4) 查询数据库:.93.5) 进入运行系统:.114利用 KVADODBGRID控件进行查询:.11 4.1) KVADODBGrid控件的介绍:.114.2) KVADODBGrid控件的使用:.124.3) 进入运行系统:.17四、注意事项.17图表图一原料数据表 .4 图二 ODBC数据源管理器 .5 图三选择数据源的驱动程序.5 图四数据源定义 .6 图五选择数据库 .6 图六 ODBC数据源定义.6 图七定义记录体 .7 图八建立与数据库的连接.8 图九断开与数据库的连接.9 图十组态王画面 .10 图十一运行系统画面 .11 图十二插入通用控件 .12 图十三 KV控件属性 .13 图十四数据链接属性 .14 图十五KV 控件配置 .14 图十六KV 控件 .15 图十七KV 控件 .16 图十八 KV ADODBGrid控件查询画面.16 图十九 KV ADODBGrid控件运行画面.17 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 18 页 - - - - - - - - - 例程:组态王对关系数据库的查询北京亚控科技发展有限公司3 一、功能概述常规需求:很多工业现场要求对关系数据库的数据根据不同的条件进行查询处理。组态王中的实现方法:1、 利用组态王的SQL 函数实现对数据库的数据的查询处理。2、 利用组态王的KVADODBGrid控件实现对数据库的查询处理。这两种实现方法的不同之处在于:第一种方式是将查询结果对应到组态王的变量上,可以通过组态王的变量进行相关的计算处理以及在命令语言中使用,但是如果符合条件的记录有许多条则无法同时看到所有的查询选择结果。第二种方式是将查询结果显示到控件的表格中,可以看到所有符合条件的查询记录,并且可以另存为其他文件以及进行打印操作,还可以通过控件的属性、方法进行其他的处理。二、工程实例我们以上一个例程 “组态王数据存储到外部数据库”中所存储的数据为例,上一个例程中我们把原料的生产厂家、原料编号、称量日期、称量时间,值班人员、原料重量的信息存到了Access 数据库中,现在我们要求对存储的原料信息按照称量日期 进行查询。我们假设的前提是这个 Access 数据库已经存在,并且已经存数据在数据库中。具体的存储数据到外部Access数据库的过程我们可以参考其他文档来实现。下面就以此为例来演示完成这一需求的具体步骤。三、操作步骤:1、数据库以及表:1.1 )假设在工程文件夹中已经存在Access 数据库,数据库名称为数据.mdb。1.2 )在数据库 数据 .mdb 中有一个数据表:表的名称为:原料数据 。字段为: 称量日期、称量时间、原料重量、原料厂家、原料编号、值班人员。如下图一所示:原料重量为数字类型(单精度),其余为文本类型。1.3) 在数据库的原料数据表中已经存储了许多数据。2、设置 ODBC 数据源:2.1) 在“控制面板” -“管理工具” -“ODBC数据源 ” 中建立 ODBC 数据源,点击 “ODBC数据源 ” 弹出 “ODBC数据源管理器 ” ,如下图二所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 18 页 - - - - - - - - - 例程:组态王对关系数据库的查询北京亚控科技发展有限公司4 2.2) 在“用户 DSN”中点击“添加” ,弹出“选择数据源驱动程序”窗口,如下图三所示:选择“ Microsoft Access Driver (*.mdb)”驱动,点击“完成” 。弹出如图四所示窗口,填写ODBC数据源的名称,名称可以根据需要任意命名,我们命名为“数据 ” ,点击“选择 (S)” ,如图五示,选择工程路径下面的数据库文件“数据 .mdb ” 。点击“确定”完成ODBC 数据源的定义,如图六所示。其他数据库如SQLServer 的 ODBC 定义请参考相关文档。图一 原料数据表名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 18 页 - - - - - - - - - 例程:组态王对关系数据库的查询北京亚控科技发展有限公司5 图二 ODBC数据源管理器图三 选择数据源的驱动程序名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 18 页 - - - - - - - - - 例程:组态王对关系数据库的查询北京亚控科技发展有限公司6 图四数据源定义图五选择数据库图六 ODBC数据源定义名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 18 页 - - - - - - - - - 例程:组态王对关系数据库的查询北京亚控科技发展有限公司7 3利用 SQL函数进行查询:利用组态王的SQL 函数可以实现对数据库的记录进行查询、插入、删除等操作,我们这里只讲述如何进行查询,其他的使用请参考组态王使用手册以及函数手册。组态王利用SQL函数进行查询时必须首先建立记录体。3.1) 定义变量:新建工程,然后定义变量,变量为内存变量。在组态王中定义八个变量:原料厂家(内存字符串) 、原料编号 (内存字符串) 、原料重量 (内存实数) 、日期(内存字符串) 、时间(内存字符串)、值班人员(内存字符串)、查询日期(内存字符串)、DeviceID (内存整数)。3.2) 定义记录体:记录体是用来连接数据库的表格的字段和组态王数据词典中的变量。创建记录体:如图七所示:记录体名:Bind1,字段名称为数据库中表的字段名称,变量名称为组态王数据词典中的变量。字段类型与变量类型需要一致。字段名称要与数据库中表的字段名称一致。变量名称与字段名称可以不同。记录体名称可以根据需要命名。图七 定义记录体3.3) 建立组态王与数据库的关联:组态王与数据库建立与断开关联主要是通过SQL 函数来实现。通过 SQLConnect() 函数建立组态王与数据库的连接。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 18 页 - - - - - - - - - 例程:组态王对关系数据库的查询北京亚控科技发展有限公司8 通过 SQLDisconnect() 函数断开组态王与数据库的连接。本例程中数据库无用户名和密码,具体用法如下:SQLConnect( DeviceID, dsn= 数据 ;uid=;pwd=); 其中 DeviceID 是用户在数据词典中创建的内存整型变量,用来保存SQLConnect() 为每个数据库连接分配的一个数值。建议将建立数据库连接的命令函数放在组态王的应用程序命令语言的启动时执行,这样当组态王进入运行系统后自动连接数据库。如下图八所示:建议将断开数据库连接的命令函数放在组态王的应用程序命令语言的停止时执行,这样当组态王退出运行系统时自动断开数据库的连接。如下图图九所示:注意:此函数在组态王运行中只须进行一次连接,不要把此语句写入“运行时”,多次执行此命令而造成错误。图八 建立与数据库的连接名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 18 页 - - - - - - - - - 例程:组态王对关系数据库的查询北京亚控科技发展有限公司9 图九 断开与数据库的连接3.4) 查询数据库:数据库连接成功后, 我们就可以通过执行 SQL 函数对 Access数据库的表中的数据进行查询了 ,查询主要用到的SQL 函数包括SQLSelect()、SQLLast() 、SQLFirst()、SQLPre() 、SQLNext() 等。详细的函数使用请参考函数使用手册。首先利用组态王提供的画图工具新建一个组态王画面“SQLPic ” ,如下图十所示:日期、时间、值班人员、原料厂家、原料编号动画连接为字符串输出,连接的变量为本站点 日期、本站点 时间、本站点 值班人员。原料重量动画连接为模拟值输出,连接的变量为本站点 原料重量。查询日期动画连接为字符串输出、字符串输入,连接的变量为本站点查询日期。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 18 页 - - - - - - - - - 例程:组态王对关系数据库的查询北京亚控科技发展有限公司10 图十 组态王画面“数据查询”按钮的弹起时命令语言为SQL 查询函数,进行数据查询:string whe; whe=称量日期本站点 查询日期 +; SQLSelect( DeviceID, 原料数据 , Bind1, Whe, ); “画面切换”按钮的弹起时命令语言为画面切换函数,进行画面的切换:ShowPicture(KV ADODBGridPic); “下一条记录”按钮的弹起时命令语言为SQL 函数,进行下一条记录的选择:SQLNext( DeviceID ); “上一条记录”按钮的弹起时命令语言为SQL 函数,进行上一条记录的选择:SQLPrev( DeviceID ); “首记录”按钮的弹起时命令语言为SQL 函数,进行首项记录的选择:SQLFirst( DeviceID ); “末记录”按钮的弹起时命令语言为SQL 函数,进行末项记录的选择:SQLLast( DeviceID ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 18 页 - - - - - - - - - 例程:组态王对关系数据库的查询北京亚控科技发展有限公司11 “系统退出”按钮的弹起时命令语言为系统退出函数:Exit( 0 ); 关于使用到的函数的详细使用方法请参考函数使用手册或者帮助文档。3.5) 进入运行系统:画面开发完成后保存画面,在工程浏览器的“系统设置”“设置运行系统”“主画面配置”中,将新建的“SQLPic ”画面设置为主画面。确认后点击工程浏览器的“View ”按钮切换到运行系统。系统运行后会将主画面打开,在查询日期处填写要查询数据的日期,点击“数据查询” 按钮则会根据查询日期查询到相应日期的数据,如下图十一所示: 通过点击相应的按钮会实现相应的功能。图十一运行系统画面4利用 KVADODBGrid 控件进行查询:4.1) KVADODBGrid控件的介绍:在工程中经常需要访问开放型数据库中的大量数据,如果通过SQL 函数编程查询,因为符合条件的记录比较多,无法同时浏览所有的记录,并且无法形成报表进行打印,不易使用。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 18 页 - - - - - - - - - 例程:组态王对关系数据库的查询北京亚控科技发展有限公司12 针对这种情况,组态王提供了一个通过ADO访问开放型数据库中数据的Active X控件KVADODBGrid 。通过该控件,在组态王画面中用户可以很方便的访问数据库、编辑数据库。可以通过数据库查询窗口对数据库中的数据进行查询,也可以用控件的统计函数计算出控件中数据的最大、 最小值和平均值等。具体的此函数的属性、方法以及详细的使用请参考组态王使用手册或者组态王帮助。4.2) KVADODBGrid控件的使用:在工程中新建画面“KVADODBGridPic” ,单击工具箱中的“插入通用控件”按钮则弹出“插入控件”对话框。在“插入控件”对话框内选择“KVADODBGrid Class”控件,如图十二所示,在此画面中放入此控件。双击此控件,为控件命名,控件名称可以根据需要确定,我们命名为“ KV ” 。图十二插入通用控件选择控件, 单击右键, 在弹出的菜单中选择“控件属性”。弹出控件固有属性对话框,如下图十三所示。点击“浏览” 按钮弹出 “数据链接属性” 如图十四所示, 选择“连接” 选项卡, 在“指定数据源” 处选择 “使用数据源名称”选项, 通过下拉列表选择我们前面所定义的ODBC 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 18 页 - - - - - - - - - 例程:组态王对关系数据库的查询北京亚控科技发展有限公司13 图十三 KV控件属性数据源“数据” ,点击“确定”,返回图十三画面, “数据源”与“数据库”连接完成,下面进行数据表的配置。在“表名称”处选择我们需要查询的数据表“原料数据”。选择完成后,数据表的字段会显示在 “有效字段” 栏,我们可以将需要的字段添加到右边,在添加过程中可以对标题以及格式等进行相应的修改,如图十五所示:点击“确定”完成对KV 控件的配置。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 18 页 - - - - - - - - - 例程:组态王对关系数据库的查询北京亚控科技发展有限公司14 图十四数据链接属性图十五KV 控件配置名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 18 页 - - - - - - - - - 例程:组态王对关系数据库的查询北京亚控科技发展有限公司15 配置完成后KVDBGrid控件在画面上的显示如图十六所示:同时按下键盘的 “Ctrl” “Alt ”“O”可以对控件的列宽进行设置,我们可以根据字段内容的多少设置合适的列宽以增加画面的美观程度。设置完成后的画面如图十七所示:图十六KV 控件在此基础上,我们进行数据查询功能的实现。如图十八所示为最后完成的画面。其中查询日期的动画连接为字符串输入、字符串输出,连接的变量为本站点 查询日期。“数据查询”按钮的弹起时命令语言为调用KV 控件的属性方法进行记录查询:string whe; whe=称量日期本站点 查询日期 +; KV.Where=whe; KV.FetchData(); KV.FetchEnd(); 控件 .Where 属性:设置查询条件,如果不需要任何条件,则可以设置为空。控件 . FetchData 方法:执行数据查询,并将查询到的数据集填充到控件中。控件 . FetchEnd 方法:结束查询。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 18 页 - - - - - - - - - 例程:组态王对关系数据库的查询北京亚控科技发展有限公司16 图十七KV 控件图十八 KV ADODBGrid控件查询画面“打印”按钮的弹起时命令语言为KV 控件的打印的方法,进行打印操作:KV.Print();名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 18 页 - - - - - - - - - 例程:组态王对关系数据库的查询北京亚控科技发展有限公司17 “画面切换”按钮的弹起时命令语言为画面切换函数,进行画面的切换:ShowPicture(SQLPic); 在使用 KVADODBGrid控件过程中用到的控件的属性、方法请参考手册或者帮助文档。4.3) 进入运行系统:画面开发完成后保存画面,然后点击工程浏览器的“View ”按钮切换到运行系统。通过主画面“ SQLPic ”画面中的“画面切换”按钮切换到“KVADODBGridPic ”画面,系统运行后会将主画面打开,设置需要查询的日期后点击“数据查询” 按钮,即可在控件中的得到查询的结果,如下图十九所示:点击“打印”即可在打印机上面进行打印输出。本控件的其他功能的实现请参考组态王手册以及组态王帮助文档。图十九 KV ADODBGrid控件运行画面四、注意事项1记录体的中变量的数据类型和数据库表中的字段类型必须一一对应和匹配。比如:数据库的表的字段的单精度类型与组态王变量的实数类型相匹配,字段的整数类型与组态王变量整数类型相匹配,字段的文本类型与组态王变量的字符串类型相匹配。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 18 页 - - - - - - - - - 例程:组态王对关系数据库的查询北京亚控科技发展有限公司18 2SQL 函数在执行中出现问题请参考信息窗口的错误提示信息。4不同的数据库在ODBC 数据源的定义是不一样的,请参考相关文档。5本演示工程只是简单的数据库查询的例程,更深一步的学习使用请参考组态王使用手册以及函数手册,或者参加组态王培训班。如有问题请致电亚控公司技术部。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 18 页 - - - - - - - - -