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

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

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

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在现有省、市港口信息化系统进行有效整合基础上,借鉴新 一代的感知-传输-应用技术体系,实现对码头、船舶、货物、重 大危险源、危险货物装卸过程、航管航运等管理要素的全面感知、 有效传输和按需定制服务,为行政管理人员和相关单位及人员提 供高效的管理辅助,并为公众提供便捷、实时的水运信息服务。 建立信息整合、交换和共享机制,建立健全信息化管理支撑 体系,以及相关标准规范和安全保障体系;按照“绿色循环低碳” 交通的要求,搭建高效、弹性、高可扩展性的基于虚拟技术的信 息基础设施,支撑信息平台低成本运行,实现电子政务建设和服务模式的转变。 实现以感知港口、感知船舶、感知货物为手段,以港航智能 分析、科学决策、高效服务为目的和核心理念,构建“智慧港口”的发展体系。 结合“智慧港口”相关业务工作特点及信息化现状的实际情况,本项目具体建设目标为: 一张图(即GIS 地理信息服务平台) 在建设岸线、港口、港区、码头、泊位等港口主要基础资源图层上,建设GIS 地理信息服务平台,在此基础上依次接入和叠加规划建设、经营、安全、航管等相关业务应用专题数据,并叠 加动态数据,如 AIS/GPS/移动平台数据,逐步建成航运管理处 "一张图"。系统支持扩展框架,方便未来更多应用资源的逐步整合。 现场执法监管系统 基于港口(航管)执法基地建设规划,依托统一的执法区域 管理和数字化监控平台,通过加强对辖区内的监控,结合移动平 台,形成完整的多维路径和信息追踪,真正做到问题能发现、事态能控制、突发问题能解决。 运行监测和辅助决策系统 对区域港口与航运业务日常所需填报及监测的数据经过科 学归纳及分析,采用统一平台,消除重复的填报数据,进行企业 输入和自动录入,并进行系统智能判断,避免填入错误的数据, 输入的数据经过智能组合,自动生成各业务部门所需的数据报 表,包括字段、格式,都可以根据需要进行定制,同时满足扩展 性需要,当有新的业务监测数据表需要产生时,系统将分析新的 需求,将所需字段融合进入日常监测和决策辅助平台的统一平台中,并生成新的所需业务数据监测及决策表。 综合指挥调度系统 建设以港航应急指挥中心为枢纽,以各级管理部门和经营港 口企业为节点,快速调度、信息共享的通信网络,满足应急处置中所需要的信息采集、指挥调度和过程监控等通信保障任务。 设计思路 根据项目的建设目标和“智慧港口”信息化平台的总体框架、 设计思路、建设内容及保障措施,围绕业务协同、信息共享,充 分考虑各航运(港政)管理处内部管理的需求,平台采用“全面 整合、重点补充、突出共享、逐步完善”策略,加强重点区域或 运输通道交通基础设施、运载装备、运行环境的监测监控,完善 运行协调、应急处置通信手段,促进跨区域、跨部门信息共享和业务协同。 以“统筹协调、综合监管”为目标,以提供综合、动态、实 时、准确、实用的安全畅通和应急数据共享为核心,围绕“保畅通、抓安全、促应急"等实际需求来建设智慧港口信息化平台。 系统充分整合和利用航运管理处现有相关信息资源,以地理 信息技术、网络视频技术、互联网技术、移动通信技术、云计算 技术为支撑,结合航运管理处专网与行业数据交换平台,构建航 运管理处与各部门之间智慧、畅通、安全、高效、绿色低碳的智 慧港口信息化平台。 系统充分考虑航运管理处安全法规及安全职责今后的变化 与发展趋势,应用目前主流的、成熟的应用技术,内联外引,优势互补,使系统建设具备良好的开放性、扩展性、可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值