第十九章 组态王数据库访问(SQL)
843
第十九章 组态王数据库访问(SQL)
介绍组态王 SQL 访问功能
组态王如何与通用数据库连接
组态王 SQL 访问功能是为了实现组态王和其他 ODBC 数据库之间的数据传
输。它包括组态王 SQL 访问管理器、如何配置与各种数据库的连接、组态王与
数据库连接实例和 SQL 函数的使用。
组态王 SQL 访问管理器用来建立数据库列和组态王变量之间的联系。通过
表格模板在数据库中创建表格,表格模板信息存储在 SQL.DEF 文件中;通过记
录体建立数据库表格列和组态王之间的联系,允许组态王通过记录体直接操纵数
据库中的数据。这种联系存储在 BIND.DEF 文件中。
组态王可以与其他外部数据库(支持 ODBC 访问接口)进行数据传输。首先在
系统 ODBC 数据源中添加数据库,然后通过组态王 SQL 访问管理器和 SQL 函数
实现各种操作。
组态王 SQL 函数可以在组态王的任意一种命令语言中调用。这些函数用来
创建表格,插入、删除记录,编辑已有的表格,清空、删除表格,查询记录等操
作。
19.1 组态王 SQL 访问管理器
组态王 SQL 访问管理器包括表格模板和记录体两部分功能。当组态王执行
SQLCreateTable();指令时,使用的表格模板将定义创建的表格的结构;当执行
SQLInsert();、SQLSelect();或 SQLUpdate();时,记录体中定义的连接将使组
北京亚控科技发展有限公司
844
第十九章 组态王数据库访问(SQL)
态王中的变量和数据库表格中的变量相关联。
组态王 SQL 访问管理器
表格模板 Table1
记录体 BIND2
列名
salary
name
age
数据类型
长度
整型
定长字符串
浮点型
10
255
1
列名
Salary
Name
Age
SQLCreateTable
组态王变量
record1
name
age
SQLInsert
新表格
数据库表格
salary
name
age
salary
name
100
200
300
emploee1
emploee2
emploee3
age
24
25
26
组态王提供集成的 SQL 访问管理。在组态王工程浏览器的左侧大纲项中,可
以看到 SQL 访问管理器。如图 19.1 所示。
北京亚控科技发展有限公司
第十九章 组态王数据库访问(SQL)
845
图19.1 组态王SQL访问管理器
19.1.1 表格模板
选择工程浏览器左侧大纲项“SQL 访问管理器文件\表格模板”,在工程浏览
器右侧用鼠标左键双击“新建”图标,弹出对话框如图 19.2 所示。该对话框用
于建立新的表格模板。
北京亚控科技发展有限公司
846
第十九章 组态王数据库访问(SQL)
图19.2 创建表格模板
模板名称:表格模板的名称,长度不超过 32 个字节;
字段名称:使用表格模板创建数据库表格中字段的名称,长度不超过 32 个
字节;
变量类型: 表格模板创建数据库表格中字段的类型。点击下拉列表框按钮,
其中有四种类型供选择,整型、浮点型、定长字符串型、变长字符串型;
字段长度:当变量类型中选择“定长字符串型”或“变长字符串型”时,该
项文本框由“灰色”(无效)变为“黑色”(有效)。在文本框中输入字段长度数
值,该数值必须为正整数,且不大于 255 个字节;
索引类型:点击下拉列表框按钮,其中有三种类型供选择,有(唯一)、有
(不唯一)、没有。索引功能是数据库用于加速字段中搜索及排序的速度,但可
能会使更新变慢。选择“是(唯一)”可以禁止该字段中出现重复值;
允许为空值:选中该项,将在前面的方框中出现“”标志,表示数据记录
到数据库的表格中该字段可以有空值。不选中该项则表示该字段的数据不能为空
值;
增加字段:在上面定义字段中各个项定义好后,点击“增加字段”按钮,将
会把定义好的字段增加到显示框中;
北京亚控科技发展有限公司
第十九章 组态王数据库访问(SQL)
847
删除字段:从显示框中选中已有字段的字段名称,点击“删除字段”按钮,
将会把定义好的字段从显示框中删除;
修改字段:从显示框中选中已有字段的字段名称,此时该字段各项属性显示
在定义字段各项中,对各个属性进行修改,然后点击“修改字段”按钮,将会把
修改后的的字段重新显示在显示框中,修改完字段后,必须点击“确认”按钮才
会保存修改内容;
上移一行:从显示框中选中已有字段的字段名称,点击“上移一行”按钮,
将会把选中的字段向上移动一行,在数据库创建表格中将改变该字段位置;
下移一行:从显示框中选中已有字段的字段名称,点击“下移一行”按钮,
将会把选中的字段向下移动一行,在数据库创建表格中将改变该字段位置。
例:创建一个表格模板
创建一个表格模板:table1;
定义三个字段:salary(整型)、name(定长字符串型,字段长度:255)、
age(整型)。如图 19.3 所示。
图19.3定义表格模板table1
北京亚控科技发展有限公司
848
第十九章 组态王数据库访问(SQL)
19.1.2 记录体
记录体用来连接表格的列和组态王数据词典中的变量。选择工程浏览器左侧
大纲项“SQL 访问管理器文件\记录体”,在工程浏览器右侧用鼠标左键双击“新
建”图标,弹出对话框如图 19.4 所示。该对话框用于建立新的记录体。
图19.4 创建记录体
记录体名:记录体的名称,长度不超过 32 个字节;
字段名称:数据库表格中的列名,长度不超过 32 个字节;
组态王变量:与数据库表格中指定列相关联的组态王变量名称。点击右边“?”
按钮,弹出“选择变量名”窗口,可以从中选择组态王变量;
增加字段:在上面定义完字段名称和组态王变量后,点击“增加字段”按钮,
将会把定义好的字段增加到显示框中;
删除字段:从显示框中选中已有字段的字段名称,点击“删除字段”按钮,
将会把定义好的字段从显示框中删除;
修改字段:从显示框中选中已有字段的字段名称,此时该字段名称和对应组
态王变量名称会显示在各项中,对各项进行修改,然后点击“修改字段”按钮,
北京亚控科技发展有限公司
第十九章 组态王数据库访问(SQL)
849
将会把修改后的的字段重新显示在显示框中,修改完字段后,必须点击“确认”
按钮才会保存修改内容;
上移一行:从显示框中选中已有字段的字段名称,点击“上移一行”按钮,
将会把选中的字段向上移动一行;
下移一行:从显示框中选中已有字段的字段名称,点击“下移一行”按钮,
将会把选中的字段向下移动一行。
例:创建一个记录体
定义三个组态王变量,分别为:record1(内存实型)、name(内存字符串型)、
age(内存整型);
创建一个记录体:BIND1;
定义三个字段:salary(对应组态王变量 record1)、name(对应组态王变
量 name)、age(对应组态王变量 age)。如图 19.5 所示。
图19.5 创建记录体BIND1
北京亚控科技发展有限公司
850
第十九章 组态王数据库访问(SQL)
注意:
保持记录体中字段的顺序和数据库中表格的顺序一致;
表格模板最大数目:1024;
表格模板中字段最大数目:1024;
记录体最大数目:1024;
记录体中字段最大数目:1024。
19.2 如何配置与数据库的连接
19.2.1 定义 ODBC 数据源
组态王 SQL 访问功能能够和其他外部数据库(支持 ODBC 访问接口)之间
的数据传输。实现数据传输必须在系统 ODBC 数据源中定义相应数据库。
进入“控制面板”中的“管理工具”,用鼠标双击“数据源 (ODBC)”选项,
弹出“ODBC 数据源管理器”对话框,如图 19.6 所示。
北京亚控科技发展有限公司