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