labview对excel操作,labview操作excel( 四 )


文章插图
图1.18 SQL 的条件查询语法格式
DB Tools Select Data.vi 已经把SELECT 语句预先集成好了,我们只需要在optional clause 输入端加入WHERE 语句部分即可 , 如图1.19 所示 。范例程序从TestResult 这张表里把字段TestTime 等于字符串“2008-8-27 16:24:34”的记录读出来 。

labview对excel操作,labview操作excel

文章插图
图1.19 读出感兴趣的数据
【参考知识】WHERE 语句可包括各种条件运算符:比较运算符(大小比较):>、>=、=、数据库高级操作
数据库操作除了创建表格、初除表格、添加记录、查询记录外,常用的还有初除记录、更新现有数据等操作 。由于这些操作幵没有现成的VI,所以需要借助SQL 语言来实现 。
在LabVIEW 中执行SQL 语言案例研究
如前所述 , 绝大部分DBMS 都支持SQL 语言,LabVIEW 数据库工具包实现的实质也是基于SQL语言,它为不熟悉SQL 语言的用户把SQL 语言封装了起来,以方便他们使用 。上面的操作都是基于已封装好的VI 。
双击DB Tools Select Data.vi,打开它的程序框图,如图1.20 所示,让我们一起来研究一下它的实现过程 。
labview对excel操作,labview操作excel

文章插图
labview对excel操作,labview操作excel

文章插图
图1.20 DB Tools Select Data 的代码实现
如图1.20 所示 , DB Tools Select Data.vi 先创建了SQL 语句,然后用DB Tools Excute Query.vi 来执行SQL 语句,以此实现对数据库的操作 。
labview对excel操作,labview操作excel

文章插图
在教程中,我们也沿用这种模式,直接用SQL 来实现LabVIEW 数据库工具包中没有提供的功能 。
用SQL 实现数据查询操作
了解了LabVIEW 如何执行SQL 语言后,我们可以重新实现0 查询一条记录的功能,范例程序如图1.21 所示 。
labview对excel操作,labview操作excel

文章插图
图1.21 用SQL 查询记录
用SQL 实现初除一条记录
通过查阅SQL 参考手册,我们知道初除一条记录的语句是“detele”,其语法为:
DELETE FROM table_nameWHERE column_name = some_value
参考图1.21,我们很容易实现初除一条记录的操作 , 如图1.22 所示 。
labview对excel操作,labview操作excel

文章插图
图1.22 删除一条记录
在使用“detele”语句时,需要注意:
1. “detele”语句不能初除单个字段的值 , 只能初除一行、多行、所有行或一行也不初除;2. “detele”语句仅能初除记录,不能初除表本身;初除表要用“drop”语句,这也是为什么LabVIEW 数据库工具包中初除表的VI 叫Drop Table 。
压缩数据库,释放多余空间
删除了记录后,你会惊奇的发现数据库文件幵没有减?。退惆阉械氖萑慷汲醭簦?结果也一样 。这是因为数据库在使用一段时间后,时常会出现因数据初除而造成数据库中空闲空间太多的情况,这时就需要减少分配给数据库文件和事务日志文件的磁盘空间,以免浪费磁盘空间 。
Microsoft 提供了一个压缩数据库的方法,请参考How To Compact Microsoft Access Database Through ADO 。其基本思想是,使用ADO 的扩展: Microsoft Jet OLE DB Provider and Replication Objects (JRO)中的方法:CompactDatabase 。Jet 对象在文件Msjro.dll 里面,如图1.23 所示 。
labview对excel操作,labview操作excel

文章插图
图1.23 Msjro.dll 文件
下面将简单介绍一下在LabVIEW 中访问Jet 对象的方法:
在前面板上放一个Automation Refnum.vi,在右键菜单中选择”Select Active Class”->”Browse…”,如图1.24 所示 。