组态王与Access数据库连接的配置及使用说明

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

组态王与Access数据库的数据交换

SQL访问管理器

SQL访问管理器用来建立数据库列和组态王变量之间的联系。包括表格模板和记录体两部分功能。通过表格模板在数据库表中建立表格;通过记录体建立数据库表格列和组态王之间的联系,允许组态王通过记录体直接操纵数据库中的数据。表格模板和记录体都是在工程浏览器中建立的。

创建表格模板

在工程浏览器中左侧工程目录显示区中选择“SQL访问管理器”下的“表格模板”项,在右侧目录内容显示区中双击“新建”,弹出“创建表格模板”对话框,如下图。

建立表格模板的目的在于定义一种格式,在后面用到是SQLCreatTable(),以次格式在Access数据库中建立表格。

创建记录体

在工程浏览器中左侧工程目录显示区中选择“SQL访问管理器”下的“记录体”项,在右侧目录内容显示区中双击“新建”,弹出“创建记录体”对话框,如下图。

其中: 

字段名称填写数据库表格中的列名。 

组态王变量填写和表格中指定列相关联的组态王变量。 

建立Ms Access数据库 

1.建立一空Access文件,定名。 

2.定义数据源 

双击控制面板下的“ODBC数据源(32位)”选项,弹出“ODBC数据源管理器”

对话框。 

选择“用户DSN”属性页,并单击“添加”按钮。 

 在弹出的“创建新数据源”对话框中,选择“Mirosoft Access Driver”单击“完成”按钮。 

弹出“ODBC Microsoft Access安装”对话框,定义数据源名。 

单击“选取”按钮,从中选择相应路径下刚刚定义的数据库文件。 

单击“确定”按钮,完成对数据源的配置。 

对数据库的操作 

首先在数据词典里建立变量DeviceID,为内存整形,是数据库连接时产生的连接号。 

1.连接数据库 

函数SQLConnect( DeviceID, "dsn=;uid=;pwd="); 

参数说明: 

DeviceID SQLConnct()产生的连接号

"dsn=;uid=;pwd=" 连接语句,包括 ODBC中定义的数据源名、用户名和密码,用户名和密码可以缺省。

例子:组态王以sa身份登录(无密码)和名为wang的SQL Server中的pubs数据库连接

SQLConnect(DeviceID,“DSN=wang;DATABASE=pubs;UID=sa; PWD=”) 

2.创建表格 

函数SQLCreateTable(DeviceID,TableName,TemplateName); 

参数说明: 

DeviceID SQLConnct()产生的连接号 

TableName 想要创建的数据库的表格名

TemplateName 表格模板名 

例子:下例创建一个名为kingview的新表,模板为table1 SQLCreateTable(DeviceID, “kingview”, “table1”) 

3.插入新记录 

函数SQLInsert(DeviceID, TableName, BindList); 

参数说明: 

DeviceID SQLConnct()产生的连接号 

TableName 数据库的表格名 

BindList 记录体

例子:在表格kingview中插入一条记录,记录体bind1 

SQLInsert(ConnectionID, “kingview”, “bind1”) 

4.得到选择集 

函数SQLSelect(DeviceID, TableName, BindList, WhereExpr, OrderByExpr); 

函数说明: 

DeviceID SQLConnct()产生的连接号 

TableName 数据库的表格名 

BindList 记录体

WhereExpression 指定函数起作用行的条件 

注意:如果列名是字符串,表达式必须在单引号中。 

下例选择“名字”列中等于Asia的行: 

名字= ’Asia’ 

下例选择“年龄”列中在20和30之间的行: 

年龄>=20 and 年龄<30 

OrderByExpression 定义排序的列和方向。只有列名可以用来排序,表达式:列名[ASC|DESC]。 

下例将以“温度”列的升序排序 

“温度 ASC” 

排序中也可使用多重表达式。例如; 

“温度 ASC,时间 DESC”

5.选择记录 

SQLFirst(DeviceID); 从SQLSelect()函数产生的结果集中选取首项记录。 

SQLNext(DeviceID); 选取选择集中的下一条记录。 

SQLPrev(DeviceID); 选取选择集中的上一条记录。 

SQLLast(DeviceID); 选取由SQLSelect()创建的选择集的末条记录。 

DeviceID SQLConnct()产生的连接号 

6.断开数据库 

SQLDisconnect(DeviceID) 

DeviceID SQLConnct()产生的连接号 

相关文档
最新文档