2023年11月23日发(作者:)
(完整)labview与数据库资料
17.2 Database Connectivity应用典型实例
17.2。1 在Access中建立一个数据库
使用NI所提供的数据库工具包Database Connectivity只能操作数据库,但是无法创建数
据库,因此需要借助第三方数据库管理系统,如Access等来创建数据库。首先我们建立一个Data。
mdb的数据库文件。
打开Microsoft Access软件,单击文件〉〉新建…,选择空数据库,保存到文件夹下.
创建方法如图17-11所示.
图17—11 在Access中创建数据库表格
在利用Database Connectivity工具包操作数据库之前,需要先连接数据库,连接数据库
的方法有以下两种.
1.利用DSN连接数据库
(完整)labview与数据库资料
LabVIEW数据库工具包基于ODBC(Open Database Connectivity)技术,在使用ODBC API
函数之前,需要提供数据源名DSN(Data Source Names)才能连接到实际数据库,所以需要首
先创建DSN。Database Connectivity工具包与ODBC的关系如图17-12所示。
打开Windows控制面板>>管理工具,选择数据源,进入“ODBC数据源管理器”对话框,如图
17-13所示.
图17-12 DB Tools与ODBC的关系 图17—13 “ODBC数据源管理
器”对话框
在“用户DSN”页面下创建的数据源只有本用户才能访问,在“系统DSN”页面下创建的数
据源,该系统下的所有用户都可以访问。在此选择“用户DSN”,单击“添加”按钮,在弹出的
(完整)labview与数据库资料
“创建新数据源"对话框中选择“Driver do Microsoft Access(*mdb)",然后单击“完成”
按钮,如图17-14所示。
随后弹出“ODBC Microsoft Access安装”对话框,输入“数据源名",如“LSData”,然
后单击“选择"按钮,选择建立好的Data。mdb数据库文件,单击“确定"按钮,如图17-15所示。
图17-14 “创建新数据源”对话框
图17—15 “ODBC Microsoft Access安装”对话框
完成以上配置后,就可以在“用户DSN”页面下看到新创建的名为LSData的DSN了.单击
“确定”按钮可完成DSN的建立。
(完整)labview与数据库资料
按照图17—16所示的程序框图编程,在DB Tools Open 的输入参数
Connection information输入创建的数据源名称LSData,运行该程序,status并没有亮起示
警,说明数据源可以正常连接.
图17-16 在程序中连接数据库
2.利用UDL连接数据库
Microsoft还提供了另一种技术,即ActiveX数据对象ADO(ActiveX Data Objects)技
术。ADO是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据.ADO
使用通用数据连接UDL(Universal Data Link)来获取数据库信息,以实现数据库连接。
在Data。mdb(注意文件的扩展名)所在的文件夹下单击鼠标右键,在弹出的快捷菜单中选择
新建〉>Microsoft数据链接,如图17—17所示。命名新建的数据库链接名称为。
(完整)labview与数据库资料
图17-17 新建数据链接
双击打开文件,切换到“提供程序"页面,从中选择
“Microsoft Jet 4.0 OLE DB Provider”,设置完成单击“下一步”按钮,如图17—18
所示.
切换到“连接”页面,在“1.选择或输入数据库名称”文本框右侧,单击按钮,选择已
经创建好的数据库。完成后单击“测试连接”按钮,弹出“测试连接成功”对话框,表示已经
成功连接数据库,如图17—19所示。
图17—18 “数据链接属性”对话框
(完整)labview与数据库资料
图17—19 成功连接数据库
完成后,按照图17—20所示的程序框图编程。DB Tools Open 的输入参
数Connection Information输入前面所创建的UDL文件路径。运行该VI,status灯并无示警
亮起,说明连接成功.
图17—20 在程序中成功连接数据库
17.2.2 数据库基本操作
连接上数据库后,就可以利用Database Connectivity的工具包对数据库进行操作了。本
节介绍数据库中比较常用的几种基本操作,包括创建表格、删除表格、添加记录、查询记录等。
1.创建表格
数据表中的每一行表示一个记录,在工具包中用Record来表示;每一列表示记录中的一个字
段,在工具包中用Field表示.能够标识表中某一行的属性或属性组称做主键,一个表只能拥有
一个主键,但可以有多个候选索引.
(完整)labview与数据库资料
查询上一节中的函数介绍,VI:用于实现创建新的表格,输入参数Table是所创建的新的数据
表名称,Column Information指定表格每一列的属性,如图17-21所示。
Column name输入字段名称,data type输入该字段的数据类型,siz输入该字段的大小。
注意这里的data type与LabVIEW所能支持的数据类型不同,图17-22所示为data type下
拉框所显示的数据类型。
图17—23所示为LabVIEW数据类型和Database Connectivity工具包中data type数据
类型的对应关系。
图17—21 Column Information
栏 图17—22 数据库中data
图17-23 LabVIEW数据类型与type的数据类型
DB Tools中数据类型对照
(完整)labview与数据库资料
按照图17-24所示的程序框图编程,table输入Data.2008报表,column information分
别输入[Name/String/50]和[Age/String/50].运行该程序后,打开Data。mdb,创建一个新的
表格名为2008报表,有两个字段:Name和Age.
2.删除表格
相应的,也有删除数据库表格的函数.查找一下上一节数据库函数的介绍,
DB Tools Drop 具有删除数据库表格的功能。
图17-24 创建新表
按照图17-25所示的程序框图编程,把之前创建的数据库表格“2008报表”删除。
双击打开Data。mdb数据库查看,2008报表数据文件已经成功被删除。
3.添加记录
添加一条记录由函数DB Tools Insert Data。vi来完成。该VI的输入参数table表示
要插入的数据库表格名称;data表示要插入的数据;columns表示对应的字段的名字,其数据
类型是一个字符串数组。
(完整)labview与数据库资料
按照图17-26所示的程序框图编程,因为我们在创建表格的时候指定了段名为Name和Age,
并且指定数据类型为String,因此在插入一条记录时,插入的数据也要按照相应的数据类型来
设置。运行完该程序后观察数据库表格的变化.
其中函数DB Tools List Columns。vi列出了数据库表格的段名。该函数的输出段名可
以直接传给DB Tools Insert 的输入column.
4.查询记录
Database Connectivity工具包并没有设置查询一条记录的函数。函数
DB Tools Select 把所连接的数据库表格的所有数据都读取出来,用户只能从读取
出来的数据经过判断得出其中的某一条符合结论的数据。
按照图17-27所示的程序框图编程。
图17—27 查询记录
函数Database Variant To Data用于将数据库动态变量转换成指定类型的数据。在该例
子中转换为字符串变量.
(完整)labview与数据库资料
但是当数据库中的数据有成千上万条记录甚至更多呢,此时已经无法通过读取全部的记录,
然后再检索的方法来查找需要的那一条数据.Database Connectivity工具包完全支持SQL语
言。注意观察的话,可以发现函数DB Tools Select Data。vi还有一个输入参数
optional clause,该端按照SQL语法输入条件语句。Database Connectivity工具包的用户手
册附录A上有SQLd 快速参考手册,SQL的条件查询语法格式如图17—28所示.
图17—28 SQL的条件查询语法
而函数DB Tools Select Data。vi已经把SELECT语句编写好集成在函数中了,用户只
需要在输入端optional clause添加WHERE的条件语句即可.图17—29所示是从“2008报表”
这张数据库表格中找出字段Name等于字符串“郭靖"的记录读取出来。
图17-29 按照条件搜索记录
17.2.3 SQL语句的操作
(完整)labview与数据库资料
数据库操作除了创建表格、删除表格、添加记录、查询记录等功能以外,常用的还有删除记
录、更新数据等操作,但是这些操作并没有现成的VIK可以使用,因此需要借助SQL语句以及
SQL语句的执行操作函数来实现.
双击打开DB Tools Select Data。vi,打开它的程序框图,如图17—30所示。
图17—30 DB Tools
DB Tools Select Data。vi先创建了SQL语句,然后用DB Tools Execute
来执行SQL语句,以此实现对数据库的操作.
因此,在编程中也可以利用SQL语句和该函数来实现Database Connectivity Tools工具包
中没有提供的功能。
1.用SQL实现数据查询操作
按照图17-31所示编程,查询字段Name为郭靖的记录。
图17-31 按照条件搜索记录
函数DB Tools Select 的功能为获取记录数据,输入参数Column index是搜
索的开始索引,这里设置为0,即从0开始运行该函数.
(完整)labview与数据库资料
2.用SQL删除一条记录
查询SQL的参考手册,删除一条记录的语句是“delete”,其语法是:
DELETE FROM table_name
WHERE column_name=some_value
按照图17—32编写程序,删除一条字段Name为“郭靖”的记录。
图17-32 删除记录
注意:在使用“delete”语句时,要注意以下两点。
l “delete”语句不能删除单个字段的值,只能删除一行、多行、所有行,或一行也不删
除.
l “delete"语句仅能删除记录,无法删除数据库表格本身;删除表要用“drop”语句;若
要删除表格,则可使用DB Tools Drop 。
3.压缩数据库
删除了记录后,数据库文件的大小并没有减小,即使是把数据库的记录全部删除,结果仍然
是一样.这是因为数据库在使用一段时间以后,会出现因数据删除造成数据库中空闲空间太多的
情况,这就需要减少分配给数据库文件和事物日志文件的磁盘空间,以免浪费磁盘空间。
Microsoft提供了一个压缩数据库的方法,其思想是使用ADO的扩展:
Microsoft Jet OLE DB Provider and Replication Objects(JRO)中的方法
——CompactDatabase。Jet对象在文件Msjro。dll里面,如图17—33所示
(完整)labview与数据库资料
图17-33 位置
那么LabVIEW如何访问Jet对象呢,下面介绍访问的方法。
在前面板放置一个自动化引用句柄,在右键菜单中选择“选择ActiveX类〉>浏览”,在弹
出的“从类型库中选择对象”对话框中单击“浏览”按钮,按照上图路径选择,然后
在对象选择列表框中选择“JetEngine(JRO。JetEngine.2。6)”,单击“确定”按钮完成ActiveX
类的配置。
在程序框图中放置一个调用节点,右键单击该节点,选择方法“CompressDatabase”,到此
就实现了LabVIEW中调用Jet对象的“CompressDatabase”的方法,如图17-34所示。
这个方法仅仅是对原数据库做了一个压缩后的备份,所以还需要把原文件删除,用这个备份
来替代原数据库文件.删除文件的方法可以参考第9章。
4.用SQL实现修改数据操作
在SQL中,修改一条记录的语句是“update”,其语法为:
UPDATE table_name
SET column_name=new_value
WHERE column_name=some_value
可以按照图17—35所示的程序框图编写程序。
(完整)labview与数据库资料
图17-35 更新数据库记录
17。3 生成可执行文件和安装文件
17.3.1 生成可执行文件
在生成可执行文件时,用户不需要关心UDL文件等问题,唯一需要关注的是把所有用到的数
据库文件添加到应用程序的“始终包括”列表框中
首先要创建工程DB。lvproj,并把之前所创建的文件ODBC连接数据源。vi添加到项目中,
之前所创建的Data。mdb放置于该项目目录下的data文件夹下。按照上面的方法重新连接设置
ODBC数据源,如图17—36所示.
在创建“我的应用程序”时,可以把数据库文件添加到源文件页面下的“始终包
括"列表框中,如图17—37所示。其他的按照默认设置,生成可执行函数.
运行可执行函数,没有错误返回,表明已成功连接数据库.
(完整)labview与数据库资料
其中是ODBC连接数据库函数。数据库的路径按照编辑状态下和可执行文件状
态下来设置,程序框图如图17—38所示。
图17—37 把数据库文件添加到“始终包括”列表框中
图17-38 返回数据库文件位置
17。3.2 生成安装文件
LabVIEW 8。6之前的版本,用到Database Connectivity工具包时,在生成安装文件的
过程中,需要手动添加mdac_的安装文件。现在已经不需要这么做了,生成可执行文件
(完整)labview与数据库资料
后,安装文件的生成过程配置和平常无异,安装程序属性配置完成,只要单击“生成"按钮即可
生成安装文件。
17.4 小结
本章介绍了LabVIEW利用工具包与数据库连接的各种函数与应用,对于比较简单的数据库操
作,如创建表格、删除表格、插入记录等,工具包提供了现成的函数,可以直接使用.对于比较复
杂的数据库操作,可以利用SQL语句进行操作,工具包提供了执行SQL语句的操作函数,当然
这首先要熟悉SQL语句。Database Connectivity工具包的用户手册附录A详细地说明了SQL
语句的一般用法,用户可参考该手册。
在本章的第3节详细地讲解了应用该工具包的函数生成可执行文件和安装文件的过程.若生
成安装文件之后无法运行,则要详细查看数据库文件的路径是否正确。由于在生成可执行文件
中,对于支持文件都是默认放置于data文件夹下,所以在编辑状态下,应尽量把这些文件也放
置于data文件夹下,否则编辑状态下的路径在生成可执行文件后无法正常使用.
发布评论