组态王与数据库连接
1、创建数据源及数据库
点击鼠标右键菜单,新建一个新建 Microsoft Office Access 应用程序然后双击次图标,打开之后新建一个空数据库,如图9-0
9-0ODBC 数据源的建立
文件名称为mydb10.mdb,选择保存路径(路径:e:\),点击创建。
2、创建数据源及数据库
首先外建一个数据库,这里我们选用 Access 数据库(路径:e:\,数据库名为:mydb10.mdb)。然后,用 Windows 控制面板>管理工具>数据源 ODBC Data Sources (32bit)>新建一个Microsoft Access Driver(*.mdb)驱动的数据源,名为:mine,然后配置该数据源,指向刚才建立的Access 数据库(即mydb10.mdb),如图9-1 所示:
9-1ODBC 数据源的建立
3、创建表格模板
A、在工程浏览器窗口左侧“工程目录显示区”中选择“SQL 访问管理器”中的“表格模板”选项,在右侧“目录内容显示区”中双击“新建”图标弹出创建表格模板对话框,在对话框中建立三个字段,如图9-2 所示:
access数据库建表的完整步骤9-2 创建表格模板对话框
B、单击“确认”按钮完成表格模板的创建。建立表格模板的目的是定义数据库格式,在后面用到SQLCreatTable()函数时以此格式在Access 数据库中自动建立表格。
4、创建记录体
A、在工程浏览器窗口左侧“工程目录显示区”中选择“SQL 访问管理器”中的“记录体”选项,在右侧“目录内容显示区”中双击“新建”图标弹出创建记录体对话框,对话框
设置如图9-3 所示:
9-3 创建记录体对话框
记录体中定义了 Access 数据库表格字段与组态王变量之间的对应关系,对应关系如下
Access 数据库表格字段
组态王中变量
工艺名称
\\本站点\工艺名称
温度1
\\本站点\温度1
温度2
\\本站点\温度2
温度3
\\本站点\温度3
温度4
\\本站点\温度4
温度5
\\本站点\温度5
温度6
\\本站点\温度6
温度7
\\本站点\温度7
温度8
\\本站点\温度8
温度9
\\本站点\温度9
温度10
\\本站点\温度10
时间1
\\本站点\时间1
时间2
\\本站点\时间2
时间3
\\本站点\时间3
时间4
\\本站点\时间4
时间5
\\本站点\时间5
时间6
\\本站点\时间6
时间7
\\本站点\时间7
时间8
\\本站点\时间8
时间9
\\本站点\时间9
时间10
\\本站点\时间10
曲线步数
\\本站点\曲线步数
即:将组态王中\\本站点\$工艺名称变量值写到Access 数据库表格工艺名称字段中;将\\本站点\$温度1变量值写到Access 数据库表格温度1字段中;将\\本站点\时间1写到Access 数据库表格时间1字段中;将\\本站点\曲线步数写到Access 数据库表格曲线步数字段中;
B、单击“确认”按钮完成记录体的创建。
注:记录体中的字段名称必须与表格模板中的字段名称保持一致,记录体中字段对应的变量数据类型必须和表格模板中相同字段对应的数据类型相同。
5、连接数据库
A、在工程浏览器窗口的数据词典中定义一个内存整型变量:
变量名:DeviceID    变量类型:内存整型
B、新建一画面,名称为:数据库操作画面。
C、选择工具箱中的工具,在画面上输入文字:数据库操作。
D、在画面中添加一按钮,按钮文本为:数据库连接。
E、在按钮的弹起事件中输入如下命令语言,如图9-4 所示:
9-4 数据库连接命令语言
上述命令语言的作用是使组态王与 mine 数据源建立了连接(即与mydb.mdb 数据库建立了连接)。
在实际工程中将此命令写入:工程浏览器〉命令语言〉应用程序命令语言〉启动时中,即系统开始运行就连接到数据库上。
6、创建数据库表格
A、在数据库操作画面中添加一按钮,按钮文本为:创建数据库表格。
B、在按钮的弹起事件中输入如下命令语言,如图9-5 所示:
9-5 创建数据库表格命令语言
上述命令语言的作用是以表格模板“Table1”的格式在数据库中建立“Table10”的表格。在生成的时间 表格中,将生成22个字段,字段名称分别为:工艺名称,温度1,温度2,温度3。。。。曲线步数,每个字段的变量类型、变量长度及索引类型与表格模板“Table”中的定义一致。此命令语言只需执行一次即可,如果表格摸板有改动,需要用户先将数据库中的表格删除才能重新创建。
在实际工程中将此命令写入:工程浏览器〉命令语言〉应用程序命令语言〉
启动时中,即系统开始运行就建立数据库表格
7、插入记录
A、在数据库操作画面中添加一按钮,按钮文本为:插入记录。
B、在按钮的弹起事件中输入如下命令语言,如图9-6 所示:
9-6 插入记录命令语言
上述命令语言的作用是在时间表格中插入一个新的记录。
按下此按钮后,组态王会将 bind1 中关联的组态王变量的当前值插入到Access 数据库的时
间表格中,从而生成一条记录,从而达到了将组态王数据写到外部数据库中的目的。
C、如果让一分钟自动记录到数据库,把这个命令SQLInsert( DeviceID, "table10", "bind"  );写到 工程浏览器〉命令语言〉应用程序命令语言〉数据改变命令语言 如图:
8、数据库查询控件
利用组态王提供的 KVADODBGrid Class 控件可方便地实现数据库查询工作,操作过程如下:
A、单击工具箱中的“插入通用控件”工具或选择菜单命令“编辑\插入通用控件”,则弹出控件对话框。在控件对话框内选择“KVADODBGrid Class”选项,如图9-11 所示:
9-11 通用控件对话框
B、在画面中添加一KVADODBGrid Class 控件选中并双击控件,在弹出的动画连接属性对话框中设置控件名称为:Ctrl0
C、选中控件并单击鼠标右键,在弹出的下拉菜单中执行“控件属性”命令弹出属性对话框,如图9-12 所示:
9-12 控件属性对话框
单击窗口中的“浏览”按钮,在弹出的数据源选择对话框中选择前面创建的 mine 数据源,此时与此数据源连接的数据库中所有的表格显示在“表名称”的下拉框中,从中选择欲查询的数据库表格,(在这里我们选择前面建立的KingTable 表格),此表格中建立的所有字段将显示在“有效字段”中,利用和选择您所查询的字段名称并可通过“标题”和“格式”编辑框对字段进行编辑。
D、设置完毕后关闭此对话框,利用按钮的命令语言实现数据库查询和打印工作,设置如下:
按钮一:查询全部记录:
grid1.FetchData() ;
grid1.FetchEnd() ;
按钮二:条件查询:
long aa;
aa= grid1.QueryDialog();
if (aa==1)
{
grid1.FetchData();
grid1.FetchEnd();
}
按钮三:打印控件:
grid1.Print() ;
按钮四:保存:(将控件查询出的数据以CSV 为后缀名,保存到指定路径)
grid1.SaveToCSV(“d:\peixun\data.CSV”) ;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。