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

第一节 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、制作一个动态数据查询系统来查询数据记录。

组态王连接mysql8,组态王与数据库连接【第九讲 组态王与数据库连接】相关推荐

  1. 组态王如何连接mysql_组态王连接SQL数据库操作步骤

    组态王连接SQL数据库操作步骤 1.建立 ODBC 连接配置:(1)开始--设置--控制面板--管理工具--数据源:(2)双击"数据源" ,选择"用户 DSN" ...

  2. 组态王中时间存access怎么存_组态王数据保存

    功能介绍 工业自动化技术发布交流 文章介绍如何将组态王的数据存入access数据库中. 1. 首先创建一个access数据库,命名为组态王.mdb,mdb文件是老版本的access数据库文件,如果使用 ...

  3. 施耐德plc与组态王连接

    1.新建工程后点击设备下com1然后点击新建. 2.双击新建后选择驱动设备plc>莫迪康>ModbusTCP>tcp选中后点击下一步. 3.一直下一步到设置设备地址例如10.10.9 ...

  4. 组态王下拉式组合框使用教程,组态王下拉式组合框

    组态王下拉式组合框 c 2021-2-27 下载地址 https://www.codedown123.com/71006.html 组态王下拉式组合框使用样例,包含了使用的说明,以及控件存放位置,可以 ...

  5. 组态王与c语言混合编程6,亚控 组态王嵌入版6.1

    组态王嵌入版的主要功能 卓越的实时数据控制及监测功能 可视化操作界面,真彩显示图形.丰富的图库.动画连接 对实时数据的报警处理 实时数据的历史记录功能 利用控件对数据进行显示,如实时趋势曲线控件.历史 ...

  6. 组态王串口服务器虚拟串口,串口服务器USR-N520连接组态王设置步骤

    调试目的: USB-RS232或者USB-RS485串口线接USR-N520串口和电脑USB口,MODBUS SLAVE软件打开COM口,模拟客户串口MODBUS RTU设备.串口服务器USR-N52 ...

  7. 组态王中PLC数据连接MySQL数据库教程

    南方科技大学创新设计课程朗坤项目组 前言:本文作者非专业编程专业,相关教程可能不是很严格,仅仅提供一种思路,方便今后各位解决PLC数据抓取的问题.如果有什么遗漏,欢迎各位前辈批评斧正,不胜感激. PL ...

  8. 组态王 6.55 启停plc_PLC串口通讯和通讯接口知识

    奥科远电器点击左上角奥科远电器加关注电气作业人员在使用PLC的时候会接触到很多的通讯协议以及通讯接口,最基本的PLC串口通讯和基本的通讯接口你都了解吗?一什么是串口通讯?串口是计算机上一种非常通用设备 ...

  9. layui当前表格第一行_Excel表格如何写入组态王数据,看完就会了

    今天给大家分享 Excel表格如何写入组态王数据,希望能帮助到大家.--技成徐陈爽 第一步:(打开组态王软件,创建一个新项目) 第二步:(输入工程名描述) 第三步:(提示是否要创建,这里点击确定) 第 ...

最新文章

  1. 20、30、40岁年轻人,2020年的建议 转载
  2. 有关定时任务的表达式--cron 详细解
  3. 【MYSQL】分组之后获取每组最新的数据
  4. mysql-The-server-quit-without-updating-PID-file
  5. python中raise stoplteration_Python面向对象学习笔记3
  6. Python任务调度模块APScheduler
  7. python怎么打包_如何将一整个python工程打包
  8. 用c++做算法题的注意事项(一)
  9. jQuery jqGrid 文档
  10. 232转485通讯测试软件,(DIY制作)多功能调试工具——实现USB转:485/232/NRF24L01等(原理图和程序)...
  11. 物联12:传输线理论
  12. ae输出quicktime设置_AE设置渲染输出视频及视频格式技巧教程
  13. 移动硬盘提示文件或目录损坏且无法读取怎么办
  14. foxpro mysql_Foxpro数据库命令汇总
  15. php小于neq qe,ThinkPHP eq neq if 标签
  16. [198].打家劫舍
  17. 【1小时记住Docker常用命令】Docker学以致用
  18. windows update独立安装程序一直在此计算机上搜索更新
  19. 中小企业智能化进销存管理模式
  20. matlab 求系统码的校验矩阵,数字通信系统matlab仿真

热门文章

  1. Excel导入导出源码分析
  2. 安徽三连学院计算机考试,2017年3月安徽三联学院计算机等级考试报名时间
  3. Java编译时注解处理器(Annotation Processor)详解
  4. Win10自带的重装系统方法(云重装)
  5. html5 retina 1像素,HTML5 canvas 在 iPhone 4 retina 屏幕上的优化
  6. 《数据结构》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明
  7. Cmake Practice
  8. H3C交换机堆叠操作
  9. jetty与tomcat区别
  10. 【从删库到跑路】MySQL数据库的索引(一)——索引的结构(BTree B+Tree Hash),语法等