LabSQL在LabVIEW中对数据库访问的实现方法

2020-04-11 07:07张代宏军蓝科技集团总公司
航空维修与工程 2020年2期
关键词:工具包数据源对话框

■ 张代宏/军蓝科技集团总公司

0 引言

随着测控技术的应用与发展,虚拟仪器技术以其开放、便捷、灵活的设计模式深受开发者青睐。用户可以自由设计计算机软件、硬件,通过相应功能模块的补充,就可以方便地对其进行维护、扩展、升级。

LabVIEW是由NI(National Instruments)公司开发的用于开发虚拟仪器系统的一种简单有效的工具,是一种可视化的图形语言平台,具有图形化、结构化、层次化、模块化特点,广泛应用于测试系统的开发、应用中[1]。

1 基于LabVIEW的数据库调用方法

在测试系统开发过程中,往往需要进行数据的读写操作,即与数据库进行交互。常用的方法有四种。

1)利用LabVIEW的ActiveX功能,调用Microsoft ADO控件,利用SQL语言实现数据访问。这种方法需要系统掌握SQL语言,开发者需具备较高的数据库开发技能。

2)利用其他语言如Visual C++编写DULL程序访问数据库,再利用Lab-VIEW所带的 DULL接口访问该程序。该方法工作量太大。

3)利用NI公司的附加工具包Lab-VIEW SQL Toolkit进行数据库访问。但是这种工具包比较昂贵。

4)利用LabSQL数据库工具包进行访问,简单方便。

2 LabSQL简介

LabVIEW结构化查询语言LabSQL(LabVIEW Structured Query Language)是一个源代码完全公开的LabVIEW数据库访问工具包[2]。LabSQL将底层ADO(ActiveX Data Object)及SQL操作封装成几个易于操作的子VI,直接调用这些子VI,就可以实现LabVIEW对数据库的访问。利用LabSQL几乎可以访问任何类型的数据库,执行各种查询,对记录进行各种操作。其优点是易于理解、操作简单,不熟悉SQL语言的用户也可以很容易地使用。只需进行简单的编程,就可在LabVIEW中实现数据库访问。

3 LabSQL的使用方法

首先将LabSQL.zip解压,生成LabSQL文件夹,将解压的LabSQL文件夹放入user.lib文件夹中,再次运行时,LabVIEW的功能模块就自动加载LabSQL。图1所示为LabSQL ADO函数选板。

选用Microsoft公司整合在Office办公软件中的Access数据库软件。Access数据库具有通用性强、储存检索数据快、功能强大、操作方便等优点,与LabSQL有很好的兼容性,且能完全满足系统的需求[3]。

LabSQL与数据库进行通信时,首先应在操作系统的ODBC数据源中创建一个数据源,并设置数据源驱动。实现步骤如下:

第一步,用Access数据库管理软件新建一个数据库——我的数据库.mdb。

第二步,双击Windows控制面板“管理工具”中的“数据源(ODBC)”,弹出ODBC数据源管理器,如图2所示。

第三步,在“系统DSN”选项卡中单击添加按钮,选择数据源驱动。数据源驱动选择对话框如图3所示。选择Microsoft Access Driver(*.mdb)。

第四步,选择数据源驱动后,弹出ODBC Microsoft Access安装对话框。在该对话框中设置数据源名为myDB,在数据库栏中单击选择按钮选择第一步创建好的数据库“我的数据库.mdb”,单击确定后完成数据源的设置。ODBC Microsoft Access安装对话框如图4所示。完成数据源的建立后,就可以利用LabSQL对数据库进行操作。

4 基于LabSQL的用户登录程序设计

图1 LabSQL ADO函数选板

图2 ODBC数据源管理器

图3 数据源驱动选择对话框

图4 ODBC Microsoft Access 安装对话框

图5 用户信息E-R模型图

图6 用户密码登录程序设计流程图

用户密码登录程序的用户信息采用Access数据库进行管理,并利用LabSQL进行数据库访问。用户信息数据包括用户名、密码、权限、最后登录时间、登录次数。为此,可以建立一张用户信息表进行管理。用户信息的实体—联系E-R模型(Entity-Relationship)如图5所示。

用户密码登录程序设计流程如图6所示。当用户输入用户名和密码后,如果是管理员,则显示“进入系统”“用户管理”“修改密码”“退出系统”四个按钮。点击“用户管理”则弹出当前用户信息框,可以进行增加用户、删除用户和编辑用户操作;点击“修改密码”则弹出密码修改对话框,修改完毕后会给出修改成功与否的提示。若是测试员登录系统,则只显示“进入系统”“修改密码”“退出系统”三个按钮,即测试员不能进行用户管理。

采用顺序结构与事件结构相结合的方法进行用户密码登录模块的程序设计。顺序结构用于初始化操作,事件结构用于处理用户登录、用户管理、修改密码等操作。以其中的读取信息子VI和增加用户子VI为例对使用LabSQL访问数据库方法进行介绍。

读取信息子VI用于从数据库中读取最新的用户信息,其程序框图如图7所示。

首先通过ADO Connection Create.vi(建立连接子VI)与ADO建立连接,然后通过ADO Connection Open.vi(打开数据库子VI)打开数据源,数据源由ConnectionString指定,在指定数库子VI中默认的是用户数据.mdb,根据需要可更改所需数据库的路径。打开数据源后,通过SQL Execute.vi(执行子VI)中的Command Text执行SQL语句。对数据库的操作完成后,用ADO Connection Close.vi(关闭子VI)关闭连接。

读取信息子VI只是用来读取相关信息,使用LabSQL还可以对数据库进行添加、删除、修改等。下面通过用户管理中的增加用户子VI来进一步说明向数据库添加信息的使用方法。

图7 读取信息子VI程序框图

图8 增加用户子VI程序框图

当需要增加用户时,点击“增加用户”按钮则弹出对话框。设置新的用户名为“测试员7”、新密码为“7”、权限为“测试员”,点击“确定”按钮完成用户添加。增加用户子VI程序框图如图8所示。与读取信息子VI执行的基本过程一样,该程序也包含了ADO Connection Create.vi、ADO Connection Open.vi、SQL Execute.vi和 ADO Connection Close.vi。不同的是在3号SQL Execute.vi中Command Text设置的SQL语句为“INSERT INTO用户(用户,密码,权限,最后登录时间,登录次数)VALUES(‘测试员7’,‘7’,‘测试员’,‘×××× ’,‘0’)”。其中××××为当前时间,由“当前时间”.vi获得。程序运行完成后,新用户信息就添加到数据库中。

5 结束语

实践证明,利用LabSQL数据库工具包进行数据库访问,实现过程易于理解、操作简单、开发时间短,不用掌握SQL等大型数据库开发语言,特别适用于的广大测试开发人员。

猜你喜欢
工具包数据源对话框
慢性病健康工具包研究进展
一种多源数据融合过程中的实体关联性计算方法
正常恢复虚拟机
利用属性集相关性与源误差的多真值发现方法研究
Bootlace Worms’Secret etc.
What Is Beauty?
谷歌云与Digital Asset合作推出区块链工具包
Web 大数据系统数据源选择*
运用MATLAB软件求解高中数学中的线性和非线性规划问题
浅谈VB的通用对话框《CommonDialog》控件的使用