第18章 数据库访问SQL.docx
- 文档编号:29227540
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:14
- 大小:454.03KB
第18章 数据库访问SQL.docx
《第18章 数据库访问SQL.docx》由会员分享,可在线阅读,更多相关《第18章 数据库访问SQL.docx(14页珍藏版)》请在冰豆网上搜索。
第18章数据库访问SQL
第十八章数据库访问SQL
18.1概述
KingSCADASQL访问功能实现KingSCADA和其他外部数据库(通过ODBC访问接口)之间的数据传输。
它包括SQL访问管理器和相关的SQL函数。
KingSCADASQL访问管理器用来建立数据库列和KingSCADA变量之间的联系,包括“表格模板”和“记录体”两部分。
通过表格模板在数据库表中建立相应的表格,通过记录体建立数据库字段和KingSCADA变量之间的联系。
同时还可以通过SQL相关函数直接操作数据库中的数据。
18.2SQL访问管理器
KingSCADASQL访问管理器在工程设计器的树型目录中,如图所示:
图18-1SQL访问管理器
SQL访问管理器包括两部分:
表格模板和记录体。
下面将具体介绍这两部分。
18.2.1表格模板
在表格模板中建立数据库表格的结构,即数据库表格中有哪些字段、字段的名称、字段的类型、字段的长度等信息。
表格模板配置过程如下:
第一步:
创建表格模板
在KingSCADA工程设计器的树型目录中选择“通用数据源”→“ODBC数据源”→“表格模板”选项,在右侧编辑区中单击“新建”按钮弹出对话框,如图所示:
图18-2表格模板编辑对话框
第二步:
编辑表格模板
模板名称:
设置表格模板的名称,长度不超过32个字符且唯一。
模板描述:
该模板的注释信息,长度不超过64个字符。
字段名称:
字段是用于定义数据库表格的一个列,此项是设置字段的名称,长度不超过32个字符。
数据类型:
设置字段的类型,根据需要在下拉列表框中选择相应的类型。
索引类型:
索引功能是数据库用于加速字段中搜索与排序的速度,也可能使更新速度变慢,根据需要在下拉列表框中选择相应的类型,包括唯一索引、非唯一索引和无索引三种类型。
数据长度:
当数据类型选择字符串时,该选项有效,用来设置数据类型的长度。
允许空:
单击此项前的复选框,该框中出现‘√’表示选中,表示数据记录到数据库的表格中该字段可以有空值,否则表示该字段的数据不能为空值。
“添加字段”按钮:
当一个字段设置完毕后,单击此按钮可以将字段以及相关信息添加到字段列表框中。
“删除字段”按钮:
在字段列表框中选中某行字段,单击此按钮可将该字段删除。
“修改字段”按钮:
在字段列表框中选中某行字段,重新编辑完后,单击此按钮保存修改的内容。
“上移”按钮:
在字段列表框中选中某行字段,单击此按钮可使字段的位置向上移动。
“下移”按钮:
在字段列表框中选中某行字段,单击此按钮可使字段的位置向下移动。
第三步:
设置完成后单击“确定”按钮,完成表格模板的配置,该模板会自动增加到模板编辑区中,如图所示:
图18-3表格模板编辑区
第四步:
删除表格模板
在图18-3表格模板编辑区中选中预删除的模板,单击“删除”按钮即可将该模板删除。
第五步:
拷贝、粘贴表格模板
在图18-3表格模板编辑区中选中一表格模板,单击“拷贝”、“粘贴”按钮可以实现应用内部或应用之间表格模板拷贝和粘贴的功能。
18.2.2记录体
记录体是用来建立数据库表格字段与KingSCADA变量之间的对应关系,即KingSCADA中的哪个变量值写到数据库中的哪个字段中去。
记录体配置过程如下:
第一步:
创建记录体
在KingSCADA工程设计器的树型目录中选择“通用数据源”→“ODBC数据源”→“记录体”选项,在右侧编辑区中单击“新建”按钮弹出对话框,如图所示:
图18-4记录体编辑对话框
第二步:
编辑记录体
记录体名称:
设置记录体的名称,长度不超过32个字符且唯一。
描述:
该记录体的注释信息,长度不超过64个字符。
字段名:
数据库表格中的列名称,该名称要与数据库表格中的字段名称一致。
绑定变量:
KingSCADA数据词典中变量的名称,单击
按钮,在弹出的变量列表中选择变量。
“添加字段”按钮:
当一个字段名和KingSCADA变量的对应关系设置完毕后,单击此按钮可以将该信息添加到字段列表框中。
“删除字段”按钮:
在字段列表框中选中某行字段,单击此按钮可将该信息删除。
“修改字段”按钮:
在字段列表框中选中某行字段,重新编辑完后,单击此按钮保存修改的内容。
“上移”按钮:
在字段列表框中选中某行字段,单击此按钮可将该信息的位置向上移动。
“下移”按钮:
在字段列表框中选中某行字段,单击此按钮可将该信息的位置向下移动。
第三步:
设置完成后单击“确定”按钮,完成记录体的配置,该记录体会自动增加到记录体编辑区中,如图所示:
图18-5记录体编辑区
第四步:
删除记录体
在图18-5记录体编辑区中选中预删除的记录体,单击“删除”按钮即可将该记录体删除。
第五步:
拷贝、粘贴记录体
在图18-5记录体编辑区中选中一记录体,单击“拷贝”、“粘贴”按钮可以实现应用内部或应用之间记录体拷贝和粘贴的功能。
18.3数据库访问操作
KingSCADA访问数据库的操作过程如下:
18.3.1创建数据源
在使用KingSCADA与数据库进行数据通讯之前,必须首先建立ODBC数据源。
下面以Access数据库为例介绍如何建立数据源,
第一步:
在数据库中新建一个数据库(文件名:
mydb.mdb)。
第二步:
在WINDOWS(以WINDOWSXP为例)控制面板中,双击管理工具中的“数据源(ODBC)”,出现ODBC数据源管理器如图所示:
图18-6ODBC数据源管理器
第三步:
选择“系统DSN”标签页,单击“添加”按钮,弹出“创建新数据源”对话框,如图所示:
图18-7数据源类型选择窗口
第四步:
选择所需的数据库类型(如:
MicrosoftAccessDriver(*.mdb)),单击“完成”按钮,弹出对话框如图所示:
图18-8设置数据源信息窗口
在图18-8“数据源名”中输入新建的数据源名称(如mine),单击“选择”按钮,弹出对话框如图所示:
图18-9选择连接的数据库
在此对话框中选择已建好的数据库,将数据库(即mydb.mdb)与数据源(mine)链接,单击“确定”按钮逐级返回。
到此一个数据源建立完毕。
18.3.2创建表格模板
创建表格模板过程如下:
第一步:
在KingSCADA工程设计器的树型目录中选择“通用数据源”→“ODBC数据源”→“表格模板”选项→在右侧编辑区中单击“新建”按钮弹出创建表格模板对话框,在对话框中建立三个字段,如图所示:
图18-10创建表格模板对话框
第二步:
单击“确定”按钮完成表格模板的创建。
建立表格模板的目的是定义数据库表格的格式,在后面用到SQLCreatTable()函数时以此格式在Access数据库中建立表格。
18.3.3创建记录体
创建记录体过程如下:
第一步:
在KingSCADA工程设计器的树型目录选择“通用数据源”→“ODBC数据源”→“记录体”选项→在右侧编辑区中单击“新建”按钮弹出创建记录体对话框。
对话框设置如图所示:
图18-11创建记录体对话框
记录体中定义了Access数据库表格字段与KingSCADA变量之间的对应关系,对应关系如下所示:
Access数据库表格字段
KingSCADA变量
日期字段
\\local\$Date
时间字段
\\local\$Time
液位值
\\local\液位
即:
将KingSCADA中\\local\$Date变量值写到Access数据库表格日期字段中;将\\local\$Time变量值写到Access数据库表格时间字段中;将\\local\液位变量值写到Access数据库表格液位值字段中;
第二步:
单击“确定”按钮完成记录体的创建。
18.3.4连接数据库
第一步:
在KingSCADA工程设计器的数据词典中新建一内存整型变量:
变量名:
DeviceID
变量类型:
内存整型
第二步:
新建一画面,名称为“数据库操作画面”,并在画面上添加一按钮,按钮文本为“数据库连接”,在按钮的弹起事件中输入如下命令语言,如图所示:
图18-12数据库连接脚本
上述脚本的作用是使KingSCADA与mine数据源建立了连接(即与数据库.mdb建立了连接)。
在实际应用中将此命令写到工程设计器→脚本→系统脚本→应用程序脚本→启动时中,即系统开始运行就连接到数据库上。
18.3.5创建数据库表格
在数据库操作画面中添加一按钮,按钮文本为“创建数据库表格”,在按钮的弹起事件中输入如下命令语言,如图所示:
图18-13创建数据库表格脚本
上述脚本的作用是以表格模板“Table1”的格式在数据库中建立名为“KingTable”的表格。
在生成的KingTable表格中,将生成三个字段,字段名称分别为:
日期,时间,液位值。
每个字段的类型、长度及索引类型与表格模板“Table1”中的定义一致。
此脚本只需执行一次即可,如果表格模板有改动,需要先将数据库中的表格删除才能重新创建。
18.3.6插入记录
在数据库操作画面中添加一按钮,按钮文本为“插入记录”,在按钮的弹起事件中输入如下命令语言,如图所示:
图18-14插入记录脚本
上述脚本的作用是在表格KingTable中插入一个新的记录。
在KingSCADA运行环境中按下此按钮后,KingSCADA会将Bind1中关联的KingSCADA变量的当前值插入到Access数据库表格“KingTable”中,从而生成一条记录,达到了将KingSCADA数据写到外部数据库中的目的。
18.3.7查询记录
查询数据库中的记录可以通过SQL函数来实现,即SQLFirst、SQLNext、SQLPrev和SQLLast函数,下面将具体介绍操作过程。
第一步:
用户如果需要将数据库中的数据调入KingSCADA来显示,需要另外建立一个记录体,此记录体的字段名称要和数据库表格中的字段名称一致,连接的变量类型与数据库中字段的类型一致。
在工程设计器的数据词典中定义三个内存变量:
a、变量名:
记录日期
变量类型:
内存字符串
初始值:
空
b、变量名:
记录时间
变量类型:
内存字符串
初始值:
空
c、变量名:
液位返回值
变量类型:
内存实型
初始值:
0
第二步:
新建一画面,名称为“数据库查询画面”,并在画面上添加三个文本图素,在文本图素的“字符串输出”、“模拟量值输出”动画中分别连接变量\\local\记录日期、\\local\记录时间、\\local\液位返回值,用来显示查询出来的结果。
第三步:
在工程设计器中定义一个记录体,记录体窗口属性设置,如图所示:
图18-15记录体属性设置对话框
第四步:
在画面中添加一按钮,按钮文本为“得到选择集”,在按钮的弹起事件中输入如下脚本,如图所示:
图18-16记录查询脚本
此脚本的作用是:
以记录体Bind2中定义的格式返回KingTable表格中第一条数据记录。
第五步:
在画面上添加四个按钮,按钮属性设置如下:
a、按钮文本:
第一条记录
“弹起时”动画连接:
SQLFirst(DeviceID);
b、按钮文本:
下一条记录
“弹起时”动画连接:
SQLNext(DeviceID);
c、按钮文本:
上一条记录
“弹起时”动画连接:
SQLPrev(DeviceID);
d、按钮文本:
最后一条记录
“弹起时”动画连接:
SQLLast(DeviceID);
上述命令语言的作用分别为查询库数据中第一条记录、下一条记录、上一条记录和最后一条记录从而达到了数据查询的目的。
18.4SQL访问函数
在KingSCADA中使用SQL函数可以实现动态修改数据库记录的功能,即可以动态插入记录、更新记录、删除记录等等,SQL访问函数详见《函数速查手册》。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第18章 数据库访问SQL 18 数据库 访问 SQL
![提示](https://static.bdocx.com/images/bang_tan.gif)