图 2 动态创建数据源.vi 程序框图
作者简介:王鲁涛(1985-),男,山东聊城人,武汉理工大学汽车工程学院硕士研究生,研究方向为发动机测试技术;罗马吉(1974-),男,江西吉安
人,博士,武汉理工大学汽车工程学院副教授,研究方向为汽车发动机燃烧与排放控制,PEMFC 水热管理。
LabVIEW用户登陆系统
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
王鲁涛,罗马吉
(武汉理工大学 汽车工程学院,湖北 武汉 430070)
摘 要:详细介绍一种用户登录系统设计思想及其实现
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
。 讨论了 LabVIEW 动态创建数据源,以及数据库编程方
法。 本系统呈现高内聚、松散耦合的特点,可方便地用作大型程序组件之一。
关键词:LabVIEW;登录系统;LabSQL
中图分类号:TP311.5 文献标识码:A 文章编号:1672-7800(2009)06-0086-02
0 引言
大多数 LabVIEW 程序需要设计用户登录系统, 它的主要
优点:①有效保护私有数据。因为大多数 LabVIEW 程序针对工
业测控领域,有必要对整个系统的各种配置参数、硬件设施等
做出保护;②保护程序本身,设置软件使用权限,可以将非专业
操作人员“拒于”系统之外,避免由于使用者误操作引起的系统
崩溃。
1 LabVIEW与数据库
1.1 LabVIEW 数据库访问方式
本系统采用 Access 数据库保存用户名、 密码, 如图 1 所
示。 ID 表示用户序列号,Username 表示用户名,Password 表示
密码。
图 1 数据库格式
在 LabVIEW 中,常用的数据库访问方式有以下几种:
①利用 LabVIEW 的 ActiveX 功能, 调用 Microsoft ADO 控
件, 利用 SQL 语言实现数据库访问。 它需要用户对 Microsoft
ADO控件以及 SQL语言有较深的了解,并且编程复杂;②利用
NI 公司的附加工具包 LabVIEW SQL Toolkit 进行数据库访问,
但是这种工具包价格昂贵,大多用户无法承受;③通过第三方
开发的免费 LabVIEW 数据库访问的工具包 LabSQL 来实现对
数据库的访问。 用 LabSQL 编程简单,快捷,无需对数据库底层
做深入了解。本文便是利用 LabSQL 工具包完成对 Access数据
库的访问。
1.2 动态创建数据源
LabSQL 与数据库之间是通过 ODBC 连接, 用户需要在
ODBC中指定数据源名称和驱动程序。 因此在使用 LabSQL 之
前,首先需要在 Windows 操作系统中的 ODBC数据源中创建一
个 DSN(Data Source Name,数据源名)。 LabSQL与数据库之间的
连接就是建立在 DSN 基础之上的。 本文通过修改注册表的方
式,来实现动态创建数据源,在编写动态创建数据源程序之前,
应作如下操作:①手动配置系统 DSN,实际上是将数据源的相关
信息写入注册表。 假设数据源名为“Data”;②运行注册表编辑
器,导出[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ ODBC.
INI\ODBC Data Sources]信息到 DSN1.reg;③导出[HKEY_LOCAL
_MACHINE\SOFTWARE\ODBC\ODBC.INI\Data]信息到 DSN2.reg;
④合并上述两个注册表文件 , 用记事本打开 DSN1.reg 和
DSN2.reg, 将两个文件中的注册表信息合并为一个注册表文
件, 另存为 DataFile.reg (与本程序放至同一目录); ⑤配置
“Driver”和“DBQ”路径,用记事本打开 DataFile.reg,“Driver”是
指 ODBC 驱动程序的位置;“DBQ” 项标识数据源文件的存放
路径。在程序运行时,获得数据源文件路径后确定其键值,即可
实现“DBQ”的动态配置。 这里我们给“DBQ”键值为空值,待程
序运行时再确定其值。 修改后的“Driver”和“DBQ”为:
"Driver"="%systemroot%\\system32\\odbcjt32.dll"
"DBQ"=" "
软 件 导 刊
Software Guide
第8卷%第6期
2009年 6月
Vol.8 No.6
Jun. 2009
第 6期
准备工作完成后,编写“动态创建数据源.vi”, 首先导入刚
才创建的 DataFile.reg 至注册表,然后修改“DBQ”项值为当前
数据库文件 Data.mdb 存放路径,程序实现如图 2所示。
2 系统设计及实现
2.1 GUI 设计
登陆界面力求简介、明了。 程序一运行,鼠标焦点自动指向
用户名输入栏,按 Tab键可以导航至密码输入栏。点击确定按钮
后,可进入主程序,点击退出,则退出该系统,界面见图 3所示。
图 3 GUI 设计
2.2 系统详细设计
2.2.1 系统初始化
程序开始运行,主要完成 2 个初始化任务:①清空用户名
和密码输入栏;②鼠标焦点指向用户名输入栏。
2.2.2 身份验证程序实现
用户点击“确定”按钮后,程序将会搜索数据库中是否存在
用户名和密码输入栏输入的
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
,如果存在,则登陆成功,否则
将返回错误提示;搜索数据库中指定的用户名以及显示对应密
码,程序如图 4所示。
图 4 搜索用户.vi 程序框图
其中 ADO Connection Creat.vi 和 ADO Connection Open.vi
函数用于连接并打开数据源名为 Data 的数据库,SQL Execute.
vi 为执行数据库语句的函数, 此时执行语句 SELECT*FROM
User WHERE Username IN ('UserName')。执行完此语句将会返
回数据库中所有包括“UserName”的行,索引数组的作用是索引
出其对应的 ID和密码。 然后将此密码与用户输入密码进行比
较,如相同,则登陆成功,进入主程序界面,并关闭用户登录界
面;否则,返回错误提示,如图 5所示。
图 5 用户登录.vi 程序框图
图中 o_Main.vi 处为主程序所在路径。在顺序结构第 0帧,
程序打开要进入的主程序界面,并且打开即运行。 第 1 帧为关
闭本 VI所用的代码,程序如图 6所示。
图 6 关闭本 VI
如果数据库中无法索引到对应的用户名或者密码不正确,
程序将返回错误提示,如图 7所示。
图 7 用户名或者密码错误时执行的代码
此时,将弹出对话框提示信息,并清空用户名密码输入栏,
鼠标焦点重新指向用户名输入栏,等待用户再次输入。
至此,一个基本的用户登录系统已经实现,用户通过修改
主程序路径来将本身嵌入到大型应用程序当中。
2.3 功能扩展
有时为方便软件操作人员修改密码或增加操作人员数量,
即要添加新的用户名和密码至数据库中,可以通过以下两种方
式实现:①直接修改数据库,但在没有安装 Access 数据库的工
控机上难以实现,并且操作不灵活,非专业人员容易操作失误;
②利用 LabVIEW 新增一个用户管理系统, 可以实现删除、增
加、修改用户密码等功能。
用户成功登陆到主程序后, 面板上可放置一 “用户管理”按
钮,当用户点击此按钮时,弹出用户管理界面。 当要新增操作人员
时,可以输入新增的用户名、密码、ID信息。程序首先判断此 ID、用
户名是否已经存在,如果无,则利用 INSERT语句操作数据库,否
则,返回错误提示。 同样,可以实现删除用户、修改密码等功能。
3 结束语
本文将 LabVIEW编程技术与数据库技术结合,设计一用户
登录系统,很方便地嵌入至各种大中型应用程序中。方便用户操
作,提高系统安全。在此基础上,可进一步完善其功能,增加用户
管理系统,很方便地实现修改密码、删除用户等一系列操作。
参考文献:
[1] 陈锡辉.LabVIEW 8.20 程序设计从入门到精通[M].北京:清华大
学出版社,2007.
[2] Jeffrey Travis.LabVIEW 大学实用教程[M].乔瑞萍,译.北京:电子
工业出版社,2008.
[3] Jon Conwy.软件工程方法在 LabVIEW 中的应用[M].罗宵,译.北
京:清华大学出版社,2006.
(责任编辑:周晓辉)
王鲁涛,罗马吉:LabVIEW 用户登陆系统设计 87· ·