《第九讲组态王与大数据库连接.doc》由会员分享,可在线阅读,更多相关《第九讲组态王与大数据库连接.doc(10页珍藏版)》请在三一办公上搜索。
1、word第九讲组态王与数据库连接在本课程您将: 了解组态王SQL访问管理器 了解如何与外部数据库进展连接 了解如何向数据库中写入数据 了解如何查询数据库中的数据第一节 SQL访问管理器概述组态王SQL访问功能实现组态王和其他外部数据库通过ODBC访问接口之间的数据传输。它包括组态王的SQL访问管理器和相关的SQL函数。SQL访问管理器用来建立数据库字段和组态王变量之间的联系,包括“表格模板和“记录体两局部。通过表格模板在数据库表中建立相应的表格;通过记录体建立数据库字段和组态王之间的联系。同时允许组态王通过记录体直接操作数据库中的数据。创建数据源与数据库首先建一个数据库,这里我们选用Acces
2、s数据库路径:d:peixun,数据库名为:mydb.accdb。然后,用Windows控制面板管理工具数据源ODBC新建一个Microsoft Access Driver(*.mdb, *.accdb)驱动的数据源,名为:mine,然后配置该数据源,指向刚刚建立的Access数据库即mydb.accdb,如图9-1所示:图9-1ODBC数据源的建立创建表格模板1、在工程浏览器窗口左侧“工程目录显示区中选择“SQL访问管理器中的“表格模板选项,在右侧“目录内容显示区中双击“新建图标弹出创建表格模板对话框,在对话框中建立三个字段,如图9-2所示:图9-2创建表格模板对话框2、单击“确认按钮完成表
3、格模板的创建。建立表格模板的目的是定义数据库格式,在后面用到SQLCreatTable函数时以此格式在Access数据库中自动建立表格。创建记录体1、在工程浏览器窗口左侧“工程目录显示区中选择“SQL访问管理器中的“记录体选项,在右侧“目录内容显示区中双击“新建图标弹出创建记录体对话框,对话框设置如图9-3所示:图9-3创建记录体对话框记录体中定义了Access数据库表格字段与组态王变量之间的对应关系,对应关系如下所示:Access数据库表格字段组态王变量日期字段local$Date时间字段local$Time原料油液位值local原料油液位即:将组态王中local$Date变量值写到Acce
4、ss数据库表格日期字段中;将local$Time变量值写到Access数据库表格时间字段中;将local原料油液位变量值写到Access数据库表格原料油液位值字段中;2、单击“确认按钮完成记录体的创建。 注:记录体中的字段名称必须与表格模板中的字段名称保持一致,记录体中字段对应的变量数据类型必须和表格模板中一样字段对应的数据类型一样。第二节 对数据库的操作连接数据库1、在工程浏览器窗口的数据词典中定义一个内存整型变量:变量名:DeviceID变量类型:内存整型2、新建一画面,名称为:数据库操作画面。3、选择工具箱中的工具,在画面上输入文字:数据库操作。4、在画面中添加一按钮,按钮文本为:数据库
5、连接。5、在按钮的弹起事件中输入如下命令语言,如图9-4所示:图9-4数据库连接命令语言上述命令语言的作用是使组态王与mine数据源建立了连接即与数据库建立了连接。在实际工程中将此命令写入:工程浏览器命令语言应用程序命令语言启动时中,即系统开始运行就连接到数据库上。创建数据库表格1、在数据库操作画面中添加一按钮,按钮文本为:创建数据库表格。2、在按钮的弹起事件中输入如下命令语言,如图9-5所示:图9-5创建数据库表格命令语言上述命令语言的作用是以表格模板“Table1的格式在数据库中建立名为“KingTable的表格。在生成的KingTable表格中,将生成三个字段,字段名称分别为:日期,时间
6、,原料油液位值,每个字段的变量类型、变量长度与索引类型与表格模板“Table1中的定义一致。此命令语言只需执行一次即可,如果表格摸板有改动,需要用户先将数据库中的表格删除才能重新创建。在实际工程中将此命令写入:工程浏览器命令语言应用程序命令语言启动时中,即系统开始运行就建立数据库表格。插入记录1、在数据库操作画面中添加一按钮,按钮文本为:插入记录。2、在按钮的弹起事件中输入如下命令语言,如图9-6所示:图9-6插入记录命令语言上述命令语言的作用是在表格KingTable中插入一个新的记录。按下此按钮后,组态王会将bind1中关联的组态王变量的当前值插入到Access数据库表格“KingTabl
7、e中,从而生成一条记录,从而达到了将组态王数据写到外部数据库中的目的,查询记录用户如果需要将数据库中的数据调入组态王来显示,需要另外建立一个记录体,此记录体的字段名称要和数据库表格中的字段名称一致,连接的变量与数据库中字段的类型一致,操作过程如下:1、在工程浏览器窗口的数据词典中:a、变量名:记录日期变量类型:内存字符串初始值:空b、变量名:记录时间变量类型:内存字符串初始值:空c、变量名:原料油液位返回值变量类型:内存实型初始值:02、新建一画面,名称为:数据库查询画面。3、选择工具箱中的工具,在画面上输入文字:数据库查询。4、在画面上添加三个文本框,在文本框的“字符串输出、“模拟量值输出动
8、画中分别连接变量本站点记录日期、本站点记录时间、本站点原料油液位返回值,用来显示查询出来的结果。5、在工程浏览窗口中定义一个记录体,记录体窗口属性设置如图9-7所示:图9-7记录体属性设置对话框6、在画面中添加一按钮,按钮文本为:得到选择集7、在按钮的弹起事件中输入如下命令语言,如图9-8所示:图9-8记录查询命令语言对话框此命令语言的作用是:以记录体Bind2中定义的格式返回KingTable表格中第一条数据记录。8、单击“文件菜单中的“全部存命令,保存您所作的设置。9、单击“文件菜单中的“切换到VIEW命令,进入运行系统。运行此画面,单击“得到选择集按钮数据库中的数据记录显示在文本框中,如
9、图9-9所示:图9-9数据库记录查询10、在画面上添加四个按钮,按钮属性设置如下:a、按钮文本:第一条记录“弹起时动画连接:SQLFirst( DeviceID );b、按钮文本:下一条记录“弹起时动画连接:SQLNext( DeviceID );c、按钮文本:上一条记录“弹起时动画连接:SQLPrev( DeviceID );d、按钮文本:最后一条记录“弹起时动画连接:SQLLast( DeviceID );上述命令语言的作用分别为查询数据中第一条记录、下一条记录、上一条记录和最后一条记录从而达到了数据查询的目的。断开连接1、在“数据库操作画面中添加一按钮,按钮文本为:断开数据库连接。2、在
10、按钮的弹起事件中输入如下命令语言SQLDisconnect( DeviceID);如图9-10所示:图9-10断开数据库连接命令语言在实际工程中将此命令写入:工程浏览器命令语言应用程序命令语言退出时中,即系统退出后断开与数据库的连接。第三节 数据库查询控件利用组态王提供的KVADODBGrid Class 控件可方便地实现数据库查询工作,操作过程如下:1、 单击工具箱中的“插入通用控件工具或选择菜单命令“编辑插入通用控件,如此弹出控件对话框。在控件对话框内选择“KVADODBGrid Class选项,如图9-11所示:图9-11通用控件对话框2、在画面中添加一KVADODBGrid Class
11、控件选中并双击控件,在弹出的动画连接属性对话框中设置控件名称为:grid1。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为后缀名,保存到指定路径)grid1.SaveToCSV(“) ;课后复习1、 阅读组态王软件帮助中的KVADODBGrid Class控件帮助说明。2、 制作一个动态数据查询系统来查询数据记录。- 101 - / 10