使用LabVIEW操作ACCESS、MySQL、SQL server資料庫實作按照時間段查詢資料
使用LabVIEW操作資料庫需要使用專門的工具包。主流的工具包有兩個:“第三方資料庫工具包LabSQL”和“官方資料庫工具包Database Connectivity Toolkit”。三易電子工作室推薦使用官方資料庫工具包,官方資料庫工具包的函數都帶官方幫助和範例,使用起來友善一些。新版本LabVIEW自帶這個工具包,無需單獨安裝。本文将使用官方資料庫工具包來實作對ACCESS、MySQL、SQL server三種資料庫的通路,實作按照時間段查詢資料。
1、工作原理
資料庫工具包“Database Connectivity Toolkit”共有29個函數,如圖1所示。這29個函數可以實作對資料庫的連接配接、增、删、改、查、傳回資料的處理等。LabVIEW對資料庫操作的核心本質是:利用工具包裡的函數通過調用SQL語句的方式來實作對資料庫的操作。是以說想實作LabVIEW對資料庫操作,就得學習好兩方面的知識:(1)掌握SQL語句編寫(2)掌握LabVIEW資料庫工具包函數的用法。
圖1 資料庫操作相關函數
SQL是結構化查詢語言的縮寫,用來通路和操作資料庫系統。SQL語句既可以查詢資料庫中的資料,也可以添加、更新和删除資料庫中的資料,還可以對資料庫進行管理和維護操作。不同的資料庫,都支援SQL,這樣,我們通過學習SQL這一種語言,就可以操作各種不同的資料庫。
雖然SQL已經被ANSI組織定義為标準,不幸地是,各個不同的資料庫對标準的SQL支援不太一緻。并且,大部分資料庫都在标準的SQL上做了擴充。也就是說,如果隻使用标準SQL,理論上所有資料庫都可以支援,但如果使用某個特定資料庫的擴充SQL,換一個資料庫就不能執行了。例如,Oracle把自己擴充的SQL稱為PL/SQL,Microsoft把自己擴充的SQL稱為T-SQL。
現實情況是,如果我們隻使用标準SQL的核心功能,那麼所有資料庫通常都可以執行。不常用的SQL功能,不同的資料庫支援的程度都不一樣。而各個資料庫支援的各自擴充的功能,通常我們把它們稱之為“方言”。
本文之是以專門講解“實作按照時間段查詢資料”,也是因為上面提到的“SQL方言”的問題。對于ACCESS、MySQL、SQL server這三種資料庫,其“按照時間段查詢資料”的SQL語句有細微差異。下文将對具體的實作進行詳細的講解。
2、ACCESS資料庫實作按照時間段查詢資料
2.1 資料庫情況描述
資料庫表名為:“商品”,每列的資料類型詳見圖2,表中内容詳見圖3。
圖2 每列的資料類型
圖3 表内資料
2.2 要求
(1)查詢 2022/5/4 8:00:00 到 2023/2/5 17:30:00 之間的全部資料;
(2)查詢 2022/5/4 8:00:00 到 至今的 商品名稱資料;
(3)查詢 2022/5/4 8:00:00 之前的 商品名稱、商品種類資料;
2.3 ACCESS資料庫SQL語句實作方式
SELECT * FROM 商品 WHERE 登記日期 between #2022/5/4 8:00:00# and #2023/2/5 17:30:00#;
SELECT 商品名稱 FROM 商品 WHERE 登記日期 >= #2022/5/4 8:00:00#;
SELECT 商品名稱,商品種類 FROM 商品 WHERE 登記日期 < #2022/5/4 8:00:00#;
注意事項:“登記日期”這一列的資料類型必須為“日期/時間”
2.4 LabVIEW程式實作方式
程式實作方式詳見圖4-圖9。程式實作比較簡單,分為四步:
- 連接配接資料庫
LabVIEW與ACCESS資料庫連接配接有三種方式。這兒選用最友善的方式:字元串連接配接的方式。這三種方式這兒就不展開講解了,含興趣的可以百度一下。或者看一下三易電子工作室的《LabVIEW與資料庫存儲實戰視訊教程》。
- 調用SQL語句
LabVIEW調用SQL語句對資料庫執行“增、删、改、查“操作有三種方法,這三種方法各有特點,我們這兒選用第二種方法(比較直覺),使用“Execute Query.vi”調用SQL語句。對這三種方式的詳細使用感興趣的話,可以看一下三易電子工作室的《LabVIEW與資料庫存儲實戰視訊教程》。
2.2節的三個要求,隻需要調用不同的SQL語句就行,程式實作方式完全一樣。
- 擷取查詢得到的資料
使用“Fetch Recordset Data.vi”函數擷取。
- 關閉句柄
關閉已經連接配接的資料庫。
本文中涉及的資料庫檔案、LabVIEW源碼、文檔可以聯系淘寶客服擷取。給客服發送“資料庫按時間段查詢”,自動獲得。三易電子工作室淘寶店鋪位址:淘寶店鋪-三易電子工作室
圖4 要求1實作方式---程式框圖
圖5 要求1實作方式---前面闆
圖6 要求2實作方式---程式框圖
圖7 要求2實作方式---前面闆
圖8 要求3實作方式---程式框圖
圖9 要求3實作方式---前面闆
2.5 擴充
目的:時間資訊由前面闆輸入
實作也非常簡單,詳見圖10和圖11。這兒使用了兩個函數“格式化日期/時間字元串.vi”和“格式化寫入字元串.vi”兩個函數。
圖10 時間資訊由前面闆輸入---程式框圖
圖11 時間資訊由前面闆輸入---前面闆
3、MySQL資料庫實作按照時間段查詢資料
3.1 資料庫情況描述
資料庫表名為:“商品”,每列的資料類型詳見圖12,表中内容詳見圖13。
圖12 每列的資料類型
圖13 表内資料
3.2 要求
(1)查詢 2022/5/4 8:00:00 到 2023/2/5 17:30:00 之間的全部資料;
(2)查詢 2022/5/4 8:00:00 到 至今的 商品名稱資料;
(3)查詢 2022/5/4 8:00:00 之前的 商品名稱、商品種類資料;
3.3 MySQL資料庫SQL語句實作方式
SELECT * FROM 商品 WHERE 登記日期 between ‘2022/5/4 8:00:00’ and ‘2023/2/5 17:30:00’;
SELECT 商品名稱 FROM 商品 WHERE 登記日期 >= ‘2022/5/4 8:00:00’;
SELECT 商品名稱,商品種類 FROM 商品 WHERE 登記日期 < ‘2022/5/4 8:00:00’;
注意事項:“登記日期”這一列的資料類型必須為“datetime”
3.4 LabVIEW程式實作方式
程式實作方式與2.4節ACCESS實作方式一緻。有兩方面差異
(1)連接配接資料庫有差異,LabVIEW與MySQL資料庫連接配接有兩種方式,這兩種方式這兒就不展開講解了,含興趣的可以百度一下。或者看一下三易電子工作室的《LabVIEW與資料庫存儲實戰視訊教程》。
(2)調用的SQL語句有差異,調用的語句詳見3.3節;
本文中涉及的資料庫檔案、LabVIEW源碼、文檔可以聯系淘寶客服擷取。給客服發送“資料庫按時間段查詢”,自動獲得。三易電子工作室淘寶店鋪位址:淘寶店鋪-三易電子工作室
4、SQL server資料庫實作按照時間段查詢資料
4.1 資料庫情況描述
資料庫表名為:“商品”,每列的資料類型詳見圖14,表中内容詳見圖15。
圖14 每列的資料類型
圖15 表内資料
4.2 要求
(1)查詢 2022/5/4 8:00:00 到 2023/2/5 17:30:00 之間的全部資料;
(2)查詢 2022/5/4 8:00:00 到 至今的 商品名稱資料;
(3)查詢 2022/5/4 8:00:00 之前的 商品名稱、商品種類資料;
4.3 SQL server資料庫SQL語句實作方式
SELECT * FROM 商品 WHERE 登記日期 between ‘2022/5/4 8:00:00’ and ‘2023/2/5 17:30:00’;
SELECT 商品名稱 FROM 商品 WHERE 登記日期 >= ‘2022/5/4 8:00:00’;
SELECT 商品名稱,商品種類 FROM 商品 WHERE 登記日期 < ‘2022/5/4 8:00:00’;
注意事項:“登記日期”這一列的資料類型必須為“datetime”
4.4 LabVIEW程式實作方式
程式實作方式與2.4節ACCESS實作方式一緻。有兩方面差異
(1)連接配接資料庫有差異,LabVIEW與SQL server資料庫連接配接有三種方式,這三種方式這兒就不展開講解了,含興趣的可以百度一下。或者看一下三易電子工作室的《LabVIEW與資料庫存儲實戰視訊教程》。
(2)調用的SQL語句有差異,調用的語句詳見4.3節;
本文中涉及的資料庫檔案、LabVIEW源碼、文檔可以聯系淘寶客服擷取。給客服發送“資料庫按時間段查詢”,自動獲得。三易電子工作室淘寶店鋪位址:淘寶店鋪-三易電子工作室
5、結束語
在最後給大家推薦一門視訊課程《LabVIEW與資料庫存儲實戰視訊教程》,三易電子工作室推出的,課程品質杠杠的(三易出品,品質的保證!!!)。主要内容如下:
(1)與資料庫相關的29個函數均進行了詳細講解;
(2)包含LabVIEW與3大主流資料庫的存儲與讀取;
(3)多種方法實作對資料庫的連接配接;
(4)三種方法實作對資料庫表内容的“增、删、改、查”;
(5)不僅僅講到普通資料,還有二進制檔案的存儲與讀取!
感興趣的可以去三易電子工作室官方淘寶店鋪去逛逛。店鋪位址:淘寶店鋪-三易電子工作室