文章插圖
圖1.18 SQL 的條件查詢語法格式
DB Tools Select Data.vi 已經把SELECT 語句預先集成好了,我們只需要在optional clause 輸入端加入WHERE 語句部分即可 , 如圖1.19 所示 。范例程序從TestResult 這張表里把字段TestTime 等于字符串“2008-8-27 16:24:34”的記錄讀出來 。

文章插圖
圖1.19 讀出感興趣的數據
【參考知識】WHERE 語句可包括各種條件運算符:比較運算符(大小比較):>、>=、=、數據庫高級操作
數據庫操作除了創建表格、初除表格、添加記錄、查詢記錄外,常用的還有初除記錄、更新現有數據等操作 。由于這些操作幵沒有現成的VI,所以需要借助SQL 語言來實現 。
在LabVIEW 中執行SQL 語言案例研究
如前所述 , 絕大部分DBMS 都支持SQL 語言,LabVIEW 數據庫工具包實現的實質也是基于SQL語言,它為不熟悉SQL 語言的用戶把SQL 語言封裝了起來,以方便他們使用 。上面的操作都是基于已封裝好的VI 。
雙擊DB Tools Select Data.vi,打開它的程序框圖,如圖1.20 所示,讓我們一起來研究一下它的實現過程 。

文章插圖

文章插圖
圖1.20 DB Tools Select Data 的代碼實現
如圖1.20 所示 , DB Tools Select Data.vi 先創建了SQL 語句,然后用DB Tools Excute Query.vi 來執行SQL 語句,以此實現對數據庫的操作 。

文章插圖
在教程中,我們也沿用這種模式,直接用SQL 來實現LabVIEW 數據庫工具包中沒有提供的功能 。
用SQL 實現數據查詢操作
了解了LabVIEW 如何執行SQL 語言后,我們可以重新實現0 查詢一條記錄的功能,范例程序如圖1.21 所示 。

文章插圖
圖1.21 用SQL 查詢記錄
用SQL 實現初除一條記錄
通過查閱SQL 參考手冊,我們知道初除一條記錄的語句是“detele”,其語法為:
DELETE FROM table_nameWHERE column_name = some_value
參考圖1.21,我們很容易實現初除一條記錄的操作 , 如圖1.22 所示 。

文章插圖
圖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 所示 。

文章插圖
圖1.23 Msjro.dll 文件
下面將簡單介紹一下在LabVIEW 中訪問Jet 對象的方法:
在前面板上放一個Automation Refnum.vi,在右鍵菜單中選擇”Select Active Class”->”Browse…”,如圖1.24 所示 。
- 澳洲最毒的七種動物
- 對聯故事100則 有哪些關于對聯的有趣故事
- 啥時候流產對身體傷害小 孕早期吃什么營養品比較好
- 人窮的時候千萬不要去創業
- 怎么看前任有沒有對象 這樣試探準到你發慌
- 95后女孩回應花10年積蓄入住毛坯房 安全感對女生很重要
- 日本人參拜靖國神社有錯嗎 為什么反對日本參拜靖國神社
- 孟母三遷的故事原文的意思 孟母三遷的故事的意思是什么
- 米酒催奶對寶寶有害嗎 米酒有下奶的功效嗎
- 判斷一個好男人的標準
