微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于 LabVIEW 的油滴电量测试系统的数据库访问

基于 LabVIEW 的油滴电量测试系统的数据库访问

时间:12-26 来源:互联网 点击:

数据库的方法有2 种:利用ODBC(OpenDatabaseConnectivity)技术数据库和利用Active 数据对象ADO(ActiveX Data Objects)技术数据库。

使用ODBC API 函数时,需要创建数据源名DSN(Data Source Names)才能链接到实际数据库。因此需要考虑移植问题,当代码发布到其他机器上时,要手动为其重新建立一个DSN.此外,Microsoft设计的ODBC标准只能访问关系型数据库,对于非关系型数据库则无能为力。而ADO 是Microsoft 提出的应用程序接口(API),用以访问关系型或非关系型数据库中的数据。

ADO使用通用数据链接UDL(Universal DataLink)来获得数据库信息,即实现数据库的链接[6].

本文使用的是利用动态数据对象ADO(ActiveXData Objects)技术链接数据库。在“测试数据库。mdb”

所在的文件夹下点击鼠标右键→新建→Microsoft DataLink,并命名为“测试数据库链接。udl”.或者通过另一种方法来建立。udl文件,在测试数据库。mdb所在的文件夹下点击鼠标右键→新建→文本文档,并命名为“测试数据库链接。txt”,再将其后缀改为“.udl”即可。双击“测试数据库链接。udl”,打开数据链接属性对话框,在提供程序选项卡中选择Microsoft Jet 4.0 OLE DB Provide.

在接下来的链接选项卡中,选择已经建立好的数据库文件,然后单击“测试链接(T)”按钮,就会链接成功。

2.2 数据库操作

链接上数据库之后,就可以对数据库进行操作了。

对数据库的操作主要有创建表格、删除表格、添加记录、查询记录等。本文主要介绍添加记录、删除记录、查询记录和更新数据库数据信息。

2.2.1 添加记录

在使用本系统时,第一次使用的操作员需要注册,操作员的注册信息需要写入数据库以数据表的形式保存下来,以便操作员以后使用系统就可以直接登录,下面说明如何向数据库中写入数据。

与数据库以及记录集对象建立链接,获取“测试数据库链接。udl”文件的位置,使用DB Tools Open Connec-tion.vi创建链接。

选择写入数据的数据表“ 用户信息表”,利用DBTools Insert Data.vi获取数据表的列名字。

由DB Tools Insert Data.vi来实现添加记录,它有三个主要的参数:table(数据表名)告诉DB Tools InsertData.vi 向数据库里的哪个表格插入数据;data 告诉DBTools Insert Data.vi插入什么数据;column对应插入列的名字,其数据类型是一个字符串数组,而且它的数据来源于DB Tools Insert Data.vi获得并输出的数据。然后断开与数据库的链接。

图3是添加记录的程序框图

2.2.2 删除记录

在测试过程中存在着很多不确定性因素会导致测试结果出现偏差,这就需要将不合格的测试数据删除,将符合要求的测试数据保存起来。

对于删除测试数据记录的操作,可以使用数据库高级操作,在LabVIEW 中执行SQL 语言来实现数据删除功能。删除一条记录的语法为:

DELETE FROM table_name

WHERE column_name = some_value

图4实现了删除一条记录的操作。

2.2.3 查询数据

实验操作人员需要通过下位机将获得的测试数据发送到PC 机的LabVIEW 测试系统中并通过LabVIEW保存到数据库中,以便以后查看数据和数据的存档。在本测试系统中,每个操作员的数据分为5组且每一组数据存放在一个数据表中,这样要获得某一个操作员的实验数据就需要从5个数据表中一次查询到该操作员的数据,再在LabVIEW前面板上显示查询结果。

此处同样需要首先建立链接,即利用DB Tools In-sert Data.vi获取数据表的列名,并利用DB ToolsSelectData.vi 来读取指定数据表中的所有数据。因为从DBTools Select Data.vi 读出来的数据是动态数据类型,需要通过Database Variant To Data.vi 函数把动态数据类型转换成正确的数据类型。

通过以上步骤,已经完成将指定数据表中的数据全部数据读出并以正确的数据类型进行显示。

在完成某一特定操作员的测试数据查询工作时,本文采用双for循环嵌套,外部for循环的循环次数为5,再由内部for循环依次查询“测试数据1…5”表中的数据,根据外部索引输出数组的操作员编号列信息与前面板输入的信息匹配,再利用指定操作员编号的索引值查找数据表中对应的记录信息,并插入到最后的“指定操作员数据”数组中。

图5为完整的查询数据程序框图。

图6 为直接从数据库中读取到的未经过处理的数据显示。

图7为经过对数组数据进行变换、处理得到的通常情况下数据记录表格形式。

2.2.4 数据更新

以上过程已实现了数据的写入,但对于某些需要实

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top