您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 组态王对关系数据库的查询说明文档
组态王对关系数据库的查询例程说明文档北京亚控科技发展有限公司2020年6月“组态王对关系数据库的查询”例程说明文档北京亚控科技发展有限公司i目录1.功能概述................................................................................................................12.工程实例................................................................................................................13.操作步骤................................................................................................................13.1数据库以及表..............................................................................................13.2设置ODBC数据源.....................................................................................23.3利用SQL函数进行查询............................................................................53.4利用KVADODBGrid控件进行查询.......................................................114.注意事项..............................................................................................................22“组态王对关系数据库的查询”例程说明文档北京亚控科技发展有限公司11.功能概述常规需求:很多工业现场要求对关系数据库的数据根据不同的条件进行查询处理。组态王中的实现方法:1)利用组态王的SQL函数实现对数据库的数据的查询处理。2)利用组态王的KVADODBGrid控件实现对数据库的查询处理。这两种实现方法的不同之处在于:第一种方式是将查询结果对应到组态王的变量上,可以通过组态王的变量进行相关的计算处理以及在命令语言中使用,但是如果符合条件的记录有许多条则无法同时看到所有的查询选择结果。第二种方式是将查询结果显示到控件的表格中,可以看到所有符合条件的查询记录,并且可以另存为其他文件以及进行打印操作,还可以通过控件的属性、方法进行其他的处理。2.工程实例我们以上一个例程“组态王数据存储到外部数据库”中所存储的数据为例,上一个例程中我们把原料的生产厂家、原料编号、称量日期、称量时间,值班人员、原料重量的信息存到了Access数据库中,现在我们要求对存储的原料信息按照“称量日期”进行查询。我们假设的前提是这个Access数据库已经存在,并且已经存数据在数据库中。具体的存储数据到外部Access数据库的过程我们可以参考其他文档来实现。下面就以此为例来演示完成这一需求的具体步骤。3.操作步骤3.1数据库以及表1)假设在工程文件夹中已经存在Access数据库,数据库为“数据.mdb”。2)在数据库“数据.mdb”中有一个数据表:表的名称为:原料数据。字段为:称量日期、称量时间、原料重量、原料厂家、原料编号、值班人员。如下图一所示:原料重量为数字类型(单精度),其余为文本类型。3)在数据库的原料数据表中已经存储了许多数据。“组态王对关系数据库的查询”例程说明文档北京亚控科技发展有限公司2图一原料数据表3.2设置ODBC数据源1)在“控制面板”-“管理工具”-“ODBC数据源”中建立ODBC数据源,点击“ODBC数据源”弹出“ODBC数据源管理器”,如下图二所示:2)在“系统DSN”中点击“添加”,弹出“选择数据源驱动程序”窗口,如下图三所示:选择“MicrosoftAccessDriver(*.mdb)”驱动,点击“完成”。弹出如图四所示窗口,填写ODBC数据源的名称,名称可以根据需要任意命名,我们命名为“数据”,点击“选择(S)”,如图五示,选择工程路径下面的数据库文件“数据.mdb”。点击“确定”完成ODBC数据源的定义,如图六所示。其他数据库如SQLServer的ODBC定义请参考相关文档。“组态王对关系数据库的查询”例程说明文档北京亚控科技发展有限公司3图二ODBC数据源管理器图三选择数据源的驱动程序“组态王对关系数据库的查询”例程说明文档北京亚控科技发展有限公司4图四数据源定义图五选择数据库“组态王对关系数据库的查询”例程说明文档北京亚控科技发展有限公司5图六ODBC数据源定义3.3利用SQL函数进行查询利用组态王的SQL函数可以实现对数据库的记录进行查询、插入、删除等操作,我们这里只讲述如何进行查询,其他的使用请参考组态王使用手册以及函数手册。组态王利用SQL函数进行查询时必须首先建立记录体。3.3.1定义变量新建工程,然后定义变量,变量为内存变量。在组态王中定义八个变量:原料厂家(内存字符串)、原料编号(内存字符串)、原料重量(内存实数)、日期(内存字符串)、时间(内存字符串)、值班人员(内存字符串)、查询日期(内存字符串)、DeviceID(内存整数)。3.3.2定义记录体记录体是用来连接数据库的表格的字段和组态王数据词典中的变量。创建记录体:如图七所示:记录体名:Bind1,字段名称为数据库中表的字段名称,变量名称为组态王数据词典中的变量。字段类型与变量类型需要一致。字段名称要与数据库中表的字段名称一致。变量名称与字段名称可以不同。记录体名称可以根据需要命名。“组态王对关系数据库的查询”例程说明文档北京亚控科技发展有限公司6图七定义记录体3.3.3建立组态王与数据库的关联组态王与数据库建立与断开关联主要是通过SQL函数来实现。通过SQLConnect()函数建立组态王与数据库的连接。通过SQLDisconnect()函数断开组态王与数据库的连接。本例程中数据库无用户名和密码,具体用法如下:SQLConnect(DeviceID,dsn=数据;uid=;pwd=);其中DeviceID是用户在数据词典中创建的内存整型变量,用来保存SQLConnect()为每个数据库连接分配的一个数值。建议将建立数据库连接的命令函数放在组态王的应用程序命令语言的启动时执行,这样当组态王进入运行系统后自动连接数据库。如下图八所示:建议将断开数据库连接的命令函数放在组态王的应用程序命令语言的停止时执行,这样当组态王退出运行系统时自动断开数据库的连接。如下图图九所示:注意:此函数在组态王运行中只须进行一次连接,不要把此语句写入“运行时”,多次执行此命令而造成错误。“组态王对关系数据库的查询”例程说明文档北京亚控科技发展有限公司7图八建立与数据库的连接“组态王对关系数据库的查询”例程说明文档北京亚控科技发展有限公司8图九断开与数据库的连接3.3.4查询数据库数据库连接成功后,我们就可以通过执行SQL函数对Access数据库的表中的数据进行查询了,查询主要用到的SQL函数包括SQLSelect()、SQLLast()、SQLFirst()、SQLPre()、SQLNext()等。详细的函数使用请参考函数使用手册。首先利用组态王提供的画图工具新建一个组态王画面“SQLPic”,如下图十所示:日期、时间、值班人员、原料厂家、原料编号动画连接为字符串输出,连接的变量为\\本站点\日期、\\本站点\时间、\\本站点\值班人员。原料重量动画连接为模拟值输出,连接的变量为\\本站点\原料重量。查询日期动画连接为字符串输出、字符串输入,连接的变量为\\本站点\查询日期。“组态王对关系数据库的查询”例程说明文档北京亚控科技发展有限公司9图十组态王画面1)“数据查询”按钮的弹起时命令语言为SQL查询函数,进行数据查询:stringwhe;whe=称量日期='+\\本站点\查询日期+';SQLSelect(DeviceID,原料数据,Bind1,Whe,);2)“画面切换”按钮的弹起时命令语言为画面切换函数,进行画面的切换:ShowPicture(KVADODBGridPic);3)“下一条记录”按钮的弹起时命令语言为SQL函数,进行下一条记录的选择:SQLNext(DeviceID);4)“上一条记录”按钮的弹起时命令语言为SQL函数,进行上一条记录的选择:SQLPrev(DeviceID);5)“首记录”按钮的弹起时命令语言为SQL函数,进行首项记录的选择:SQLFirst(DeviceID);6)“末记录”按钮的弹起时命令语言为SQL函数,进行末项记录的选择:“组态王对关系数据库的查询”例程说明文档北京亚控科技发展有限公司10SQLLast(DeviceID);7)“系统退出”按钮的弹起时命令语言为系统退出函数:Exit(0);关于使用到的函数的详细使用方法请参考函数使用手册或者帮助文档。3.3.5进入运行系统画面开发完成后保存画面,在工程浏览器的“系统设置”-“设置运行系统”-“主画面配置”中,将新建的“SQLPic”画面设置为主画面。确认后点击工程浏览器的“View”按钮切换到运行系统。系统运行后会将主画面打开,在查询日期处填写要查询数据的日期,点击“数据查询”按钮则会根据查询日期查询到相应日期的数据,如下图十一所示:通过点击相应的按钮会实现相应的功能。图十一运行系统画面“组态王对关系数据库的查询”例程说明文档北京亚控科技发展有限公司113.4利用KVADODBGrid控件进行查询3.4.1KVADODBGrid控件的介绍在工程中经常需要访问开放型数据库中的大量数据,如果通过SQL函数编程查询,因为符合条件的记录比较多,无法同时浏览所有的记录,并且无法形成报表进行打印,不易使用。针对这种情况,组态王提供了一个通过ADO访问开放型数据库中数据的ActiveX控件-KVADODBGrid。通过该控件,在组态王画面中用户可以很方便的访问数据库、编辑数据库。可以通过数据库查询窗口对数据库中的数据进行查询,也可以用控件的统计函数计算出控件中数据的最大、最小值和平均值等。具体的此函数的属性、方法以及详细的使用请参考组态王使用手册或者组态王帮助。3.4.2KVADODBGrid控件的使用在工程中新建画面“KVADODBGridPic”,单击工具箱中的“插入通用控件”按钮则弹出“插入控件”对话框。在“插入控件”对话框内选择“KVADODBGridClass”控件,如图十二所示,在此画面中放入此控件。双击此控件,为控件命名,控件名称可以根据需要确定,我们命名为“KV”。“组态王对关系数据库的查询”例程说明文档北京亚控科技发展有限公司12图十二插入通用控件选择控件,单击右键,在弹出的菜单中选择“控件属性”。弹出控件固有属性对话框,如下图十三所示。点击“浏览”按钮弹出“数据链接属性”如图十四所示,选择“连接”选项卡,在“指定数据源”处选择“使用数据源名称”选项,通过下拉列表选择我们前面所定义的ODBC。“组态王对关系数据库的查询”例程说明文档北京亚控科技发展有限公司13图十三KV控件属性数据源“数据”,点击“确定”,返回图十三画面,“数据源”与“数据库”连接完成,下面进行数据表的配置。在“表名称”处选择我们需要查询的数据表“原料数据”。选择完成后,数据表的字段会显示在“有效字段”栏,我们可以将需要的字段添加到右边,在添加过程中可以对标题以及格式等进行相应的修改,如图十五所示:点击“确定”完成对KV控件的配置。“组态王对关系数据库的查询”例程说明文档北京亚控科技发展有
本文标题:组态王对关系数据库的查询说明文档
链接地址:https://www.777doc.com/doc-5858914 .html