在LABVIEW中实现对数据库表格的操作摘要:利用LabVIEW数据库工具包只能操作而不能创建数据库,所以必须借助第三方数据库管理系统,比如Access,来创建数据库。本文试图通过LABVIEW对数据库进行操作,在LABVIEW中建立学生成绩查询系统。关键词:引言:现今,数据库技术已经发展的比较成熟了,著名的数据库管理系统有SQLServer、Oracle、DB2、SybaseASE、VisualForPro、MicrosoftAccess等。MicrosoftAccess是在Windows环境下非常流行的桌面型数据库管理系统,它作为Microsoftoffice组件之一,安装和使用都非常方便,并且支持SQL语言,所以本文将基于Access来介绍LABVIEW在数据库中的的操作。在利用NI公司的附加工具包中的数据库接口工具包LabVIEWSQLToolkit进行数据库访问。该工具包集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能。它的优点是易于理解,操作简单,用户可以不学习SQL语法。LabVIEWSQLToolkit(又被称作为LabVIEWDatabaseConnectivityToolset)是用于数据库访问的附加工具包,它集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能[10]。其主要的功能如下:(1)支持ADO所支持的所有的数据库引擎;(2)支持所有与ODBC或OLEDB兼容的数据库驱动程序;(3)具有高度的可移植性,在任何情况下,用户通过改变DBToolsOpenConnectionVI的输入参数ConnectionString就可以更换数据库;(4)可以将数据库中ColumnValues的数据类型转换为标准LabVIEWDatabaseConnectivityToolset的数据类型,这进一步增强了它的可移植性;(5)与SQL兼容;(6)不使用SQL语句就可以实现数据库记录的查询、添加、修改以及删除等操作;(7)用户可以完全不需要学习SQL语法。下面具体介绍如何在LABVIEW中利用LabVIEWDatabaseConnectivityToolset对数据库进行操作。正文:1.1建立数据源实现数据库功能的第一步便是建立数据源,下面将详述整个过程。1.1.1在ACCESS中建立一个数据库LabVIEW数据库工具包只能操作而不能创建数据库,所以必须借助第三方数据库管理系统,比如Access,来创建数据库。本文的数据库程序是学生成绩查询系统,所以先建立一个名为student.mdb的数据库文件,如图1.1所示。1.1.2建立与数据库的连接在利用LabVIEW数据库工具包操作数据库之前,需要先连接数据库,这就像操作文件之前,先要打开文件一样。在这里我们利用UDL连接数据库。Microsoft设计的ODBC标准只能访问关系型数据库,对非关系型数据库则无能为力。为解决这个问题,Microsoft还提供了另一种技术:Active数据对象ADO(ActiveXDataObjects)技术。ADO是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。ADO使用通用数据连接UDL(UniversalDataLink)来获得数据库信息以实现数据库连接。在student.mdb所在的文件夹下点击鼠标右键-新建-MicrosoftDataLink,并把文件命名为“student.udl”。双击“student.udl”,打开“数据连接属性”对话框,在“提供驱动程序”选项卡中选择“MicrosoftJet4.0OLEDBProvider”,如图1.2,并点击下一步。在连接选项卡中,选择自己刚建立的数据库文件,然后点击测试连接,如果成功会有对话框提示。如图1.3。创建好UDL后,打开NI范例查找器的程序:ConnectionExample.vi在DSNName中填入刚建好的DSN名并运行,如果成功的话,会如图1.4所示。1.2数据库基本操作连接上数据库之后,就可以对数据库进行操作了。这里主要介绍数据库最常用的几种基本操作,包括创建表格、删除表格、添加记录、查询记录。为了方便,在一个程序框图中建立一个条件结构,嵌入分支选择器以实现不同的功能。1.2.1创建一个表格创建数据表由LabVIEW数据库工具包中的实现。参数中的Table为被创建的数据表表名,ColumnInformation指定表格每一列的属性,如图1.5所示。图1.5创建的表格名为“学生成绩”,表格有八列。如果数据库表格创建成功,可以用Access打开数据库,看到自己创建的表格。如图1.5.11.2.2删除一个表格与数据库表格创建相对应的是数据库表格删除,由实现。将需要删除的数据库的名字告诉DBToolsDropTable.vi即可完成数据库表格的删除操作。具体实现如图1.6所示。1.2.3添加一条记录添加一条记录由来实现,DBToolsInsertData.vi需要三个主要的参数:table(数据表名)告诉DBToolsInsertData.vi往数据库里的哪个表格插入数据;data,告诉DBToolsInsertData.vi插入什么数据;columns对应插入的列的名字,其数据类型是一个字符串数组。添加记录的程序如图1.7所示。例如:要在表格当中加入“张丽”的各科成绩,首先在“功能”中选择“添加记录”,然后只需在“添加数据”中加入各科成绩即可。1.2.4查询一条记录绝大部分DBMS都支持SQL语言,LabVIEW数据库工具包实现的实质也是基于SQL语言,它为不熟悉SQL语言的用户把SQL语言封装了起来,以方便他们使用。所以,我们也可以利用SQL语言实现数据库记录的查询。用SQL语言查询记录要用到如下几个控件:、、。需要注意的是,DBToolsFetchRecord.vi导出的数据类型为变体,需用一个变体至数据的转换控件将数据转换至一个二维数组中。在输入SQL语句时,用一个连接字符串控件将各个固定和不固定的字符串按照语句格式,按顺序输入,并用一个显示控件检查格式是否正确。如图1.8。例如:查询名字为“张丽”的学生的成绩,写下张丽,然后用单引号括起来,最后加分号(格式要求)。1.2.5删除一条记录记录的删除欲查询类似,有区别的是删除记录的SQL语句与查询的不同,而且不需要输出数据。如图1.9在使用“detele”语句时,需要注意:1.“detele”语句不能删除单个字段的值,只能删除一行、多行、所有行或一行也不删除;2.“detele”语句仅能删除记录,不能删除表本身;删除表要用“drop”语句,这也是为什么LabVIEW数据库工具包中删除表的VI叫DropTable。通过以上操作,我们就在一个程序中通过条件结构建立了对数据库表格的各种功能。在LABVIEW中的整体效果如图2.01.3读取表格如果想在LABVIEW中查看整个数据库的表格,就需要在LABVIEW中读取表格。其具体步骤如下:(1)首先在上述程序框图的条件结构中添加一个分支,命名为“读取表格”。(2)插入、两个控件。(3)在前面板中添加表格,并将表格属性改为显示列首。(4)表格名连至ListColumns.vi,同时对表格点击右键,选择创建,选择属性节点,选择列首字符串(转换为读入)。将列首字符串与ListColumns.vi中的column连接。(5)注意在Selectdata.vi与表格连接时,需将变体转换为数据才能连接,如图2.1.1所示。完成上述连接后,在功能中选择“读取表格”,前面板中的表格中就会显示出数据库中记录的内容。如图2.1.2所示。通过以上操作,就可以实现对数据库表格的操作了。参考文献:《LABVIEW数据库应用》、《在LabVIEW中动态配置ODBC数据源》、《LabVIEW中访问数据库的方式》、《清华版labview教程》英文摘要:结束语: