999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LabVIEW的數(shù)據(jù)庫訪問技術(shù)

2007-01-28 06:51:18
船海工程 2007年3期
關鍵詞:數(shù)據(jù)庫

1. 海軍潛艇學院 青島 266071;2. 海軍工程大學 武漢 430033

1 LabVIEW中訪問數(shù)據(jù)庫的方法

利用LabVIEW開發(fā)應用軟件時,由于LabVIEW本身并不具備數(shù)據(jù)庫訪問功能,常用的解決方法如下[1-3]:

1) 利用NI公司的附加數(shù)據(jù)庫接口工具包LabVIEW SQL Toolkit進行數(shù)據(jù)庫訪問。

2) 利用LabVIEW的ActiveX功能,調(diào)用Microsoft ADO控件,利用SQL語言實現(xiàn)數(shù)據(jù)庫訪問。

3) 利用其他語言如VisualC++編寫DLL程序訪問數(shù)據(jù)庫,再利用LabVIEW所帶的DLL接口——調(diào)用庫函數(shù)節(jié)點CLFN(Call Library Function Node)訪問該程序,這樣可以實現(xiàn)間接訪問數(shù)據(jù)庫。

4) 利用免費的LabVIEW數(shù)據(jù)庫訪問工具LabSQL。

2 LabSQL實現(xiàn)數(shù)據(jù)庫訪問的方法和編程模型

LabSQL的開發(fā)是在LabVIEW中利用ActiveX功能,通過調(diào)用Microsoft ADO控件,結(jié)合SQL語言,并通過ODBC接口函數(shù)庫驅(qū)動程序?qū)崿F(xiàn)對數(shù)據(jù)庫的訪問,其結(jié)構(gòu)層次見圖1。

圖1 數(shù)據(jù)庫訪問結(jié)構(gòu)層次

Microsoft ADO是微軟最新的數(shù)據(jù)訪問技術(shù)[4],通過編程模型實現(xiàn)對數(shù)據(jù)庫的操作。編程模型是訪問和更新數(shù)據(jù)源所必需的操作順序,它概括了的全部功能。ADO的目標是訪問、編輯和更新數(shù)據(jù)源;利用ADO所提供的類和對象可以完成以下操作:

1) 連接到數(shù)據(jù)源;

2) 指定訪問數(shù)據(jù)源的命令同時可帶變量參數(shù)或優(yōu)化執(zhí)行;

3) 執(zhí)行命令;

4) 如果這個命令使數(shù)據(jù)按表中行的形式返回,則將這些行存儲在易于檢查、操作或更改的緩存中;

5) 可使用緩存行的更改內(nèi)容來更新數(shù)據(jù)源;

6) 提供常規(guī)方法檢測錯誤。ADO對象模型如圖2所示。

圖2 ADO對象模

這些操作都是對數(shù)據(jù)庫最基本的操作,可以分為Connection、Command、Recordset等三類,在應用程序開發(fā)過程中,為實現(xiàn)對數(shù)據(jù)庫進行訪問,這些操作方法以子函數(shù)的形式進行封裝,例如經(jīng)過封裝后的SQL Execute.vi,SQL Fetch Data.vi等函數(shù)便可直接進行調(diào)用,按照輸入的SQL命令可實現(xiàn)數(shù)據(jù)庫的不同操作。

利用LabSQL訪問數(shù)據(jù)庫的基本步驟是連接數(shù)據(jù)庫、執(zhí)行操作、斷開數(shù)據(jù)庫連接等三個步驟,用戶在執(zhí)行操作階段輸入不同的SQL命令,可實現(xiàn)不同的數(shù)據(jù)庫操作,包括查詢?nèi)繑?shù)據(jù)記錄、按條件查詢數(shù)據(jù)、添加記錄、刪除記錄等。

3 應用實例

在開發(fā)某自動測試系統(tǒng)過程中,由于有大量的測試信息需要存入數(shù)據(jù)庫記錄,同時為了滿足方便日后查詢的需要,測試系統(tǒng)應用軟件包含了用于數(shù)據(jù)庫管理操作的應用程序,通過點擊系統(tǒng)管理用戶界面的“數(shù)據(jù)庫管理”便可進入數(shù)據(jù)庫管理應用程序。在開發(fā)過程中,選用Access作為數(shù)據(jù)庫,在LabVIEW中使用LabSQL工具包對數(shù)據(jù)庫進行訪問。

3.1 數(shù)據(jù)庫管理用戶界面

測試平臺的數(shù)據(jù)庫名稱為Test.mdb,該數(shù)據(jù)包含兩個數(shù)據(jù)表項,分別是test_condition和test_reslut;這兩個表是進行數(shù)據(jù)庫操作的基礎。通過控制面板中的數(shù)據(jù)源(ODBC)設置工具,對Test.mdb進行數(shù)據(jù)源的注冊設置。開發(fā)的數(shù)據(jù)庫管理用戶界面如圖3所示。該界面分三個區(qū)域,分別是操作提示區(qū)、操作區(qū)、結(jié)果顯示區(qū)等三個部分。

圖3 數(shù)據(jù)庫管理界

操作提示區(qū)用于提示用戶如何進行相關的數(shù)據(jù)庫操作。操作區(qū)用于具體的數(shù)據(jù)庫操作,用戶可按測試時間、被測電路板名稱、測試結(jié)果等三個索引對測試結(jié)果數(shù)據(jù)進行查詢、打印、刪除等操作。在進行該部分程序開發(fā)時,為避免用戶直接輸入SQL查詢語句,在編程上將SQL查詢語句放入后臺進行處理,用戶僅需根據(jù)提示區(qū)的提示,在查詢命令框中輸入簡單的關鍵詞即可實現(xiàn)對數(shù)據(jù)庫的操作。

3.2 幾個重要的數(shù)據(jù)庫操作子函數(shù)

為實現(xiàn)對數(shù)據(jù)庫的操作管理以及數(shù)據(jù)獲取的需要,以下子函數(shù)在數(shù)據(jù)庫管理應用程序得開發(fā)過程中扮演者重要的角色。

1) Insert Table.vi,該子函數(shù)用于將測試結(jié)果寫入數(shù)據(jù)庫。該函數(shù)的主要操作對象是test_result數(shù)據(jù)表,將該子函數(shù)進行封裝,見圖4。

圖4 封裝后的

函數(shù)圖標留有若干輸入輸出端口,主要的數(shù)據(jù)連接端口有DSN(database source name,數(shù)據(jù)源名稱)端口、board_name(電路板名稱)端口、f1_value(輸出信號頻率測量值)、amp1_value(輸出信號幅度測量值)、f1_standard(輸出信號頻率標準值)、amp1_standard(輸出信號幅度標準值)、result(測試結(jié)論)等端口。

DSN端口用于打開數(shù)據(jù)庫中的存儲測試結(jié)果表項;board_name用于將當前被測電路板的名稱存入數(shù)據(jù)庫,便于查詢索引;f1_value和amp1_value為被采集信號經(jīng)過分析后的測量值;f1_standard和amp1_standard來自測試條件數(shù)據(jù)表,這兩個值的獲取也是通過數(shù)據(jù)庫操作函數(shù)得到的;result來自測試結(jié)果處理子函數(shù),若被測電路板通過測試,則表達為“合格”,反之為“不合格”。

2) _fetch one element.vi,該子函數(shù)用于從數(shù)據(jù)庫中獲取一個值,主要用于程序開發(fā)時的參數(shù)獲取,例如獲得電路板X的輸入信號的頻率值。該子函數(shù)的操作對象主要是test_condition數(shù)據(jù)表,獲取的值主要用于傳送給信號源模塊PXI-5412的參數(shù)設置端。源代碼程序見圖5,封裝后的程序見圖6。

圖5 取單個元素的圖形化源代

圖6 取單個元素子函數(shù)程

DSN端口用于打開數(shù)據(jù)庫中的測試條件表項;board_name端口作為查詢的行索引,取出與電路板名稱相符的測試條件數(shù)據(jù);parameter(參數(shù)名)端口的輸入作為查詢的列字段索引;輸出端口output1和output2為類型不同的輸出,分別是數(shù)值型和字符型。例如,為取得電路板X的輸入信號的頻率值,那么在board_name端口輸入字符串“X”,在parameter端口輸入signal1_f,那么在程序運行時,從output1端口,就可從數(shù)據(jù)庫的測試條件test_condition表中獲得電路板X輸入信號的頻率值。

3) DB_delete.vi,該子程序用于將查詢結(jié)果從數(shù)據(jù)庫中進行刪除操作。

以上幾個數(shù)據(jù)庫操作子函數(shù)是數(shù)據(jù)庫管理應用程序開發(fā)時常用的函數(shù),在開發(fā)過程中,對上述的功能子函數(shù)進行適當?shù)恼{(diào)用或二次開發(fā)封裝可以滿足對不同數(shù)據(jù)獲取的要求。

3.3 幾個重要的SQL查詢命令語句

在數(shù)據(jù)庫管理軟件的開發(fā)過程中,雖然利用了LabSQL工具包,但不可避免地要用到簡單的SQL查詢命令語句。在開發(fā)的過程中,常用到的SQL語句有以下幾種。

1) 數(shù)據(jù)查詢。在SQL語句中使用SELECT可以對數(shù)據(jù)進行查詢,一般格式如下:

SELECT<查詢內(nèi)容>FROM<表或視圖>WHERE<條件>ORDER BY<列名>。

開發(fā)時常用到的SQL語句有查詢?nèi)繙y試結(jié)果記錄語句:

SELECT * FROM test_result

查詢指定方式的SQL語句為:

SELECT * FROM test_result WHERE Test_time=‘060920’

2) 插入記錄。向測試結(jié)果數(shù)據(jù)表中插入一次測試的結(jié)果記錄時,SQL語句格式為:

INSERT INTO <表名>(<列名1>,……)VALUES(<列值>,……)

向測試結(jié)果表test_result中插入記錄的SQL語句如下:

INSERT INTO test_result (Test_time,bord_name,f1_value,amp1_value,f1_standard, amp1_standard , result) VALUES(<列值>,……)

3) 刪除記錄。刪除記錄的SQL語句格式為:

DELETE FROM <表名>WHERE<條件>

下面是對查詢結(jié)果進行刪除的SQL語句:

DELETE FROM test_result WHERE board_name=‘XX’

當程序執(zhí)行完上述語句后,在rest_result表中,所有關于電路板XX的測試信息全部被刪除。可以根據(jù)刪除條件的不同,刪除不同的測試信息。

4 結(jié)束語

實踐證明,在LabVIEW中使用LabSQL來調(diào)用數(shù)據(jù)庫非常方便、簡單,無需深入了解ActiveX技術(shù)和SQL語言,只需知道各VI的功能和數(shù)據(jù)庫的設計及相關概念,即可設計出滿足要求的程序。由于LabSQL不具備開發(fā)遠程數(shù)據(jù)訪問功能,在涉及到遠程數(shù)據(jù)訪問問題時,必須使用其他方法。由此可見LabSQL值得應用于要求不是很復雜的數(shù)據(jù)庫開發(fā)。

[1] 尹仁平,劉 剛,汪立新,喬云生.LabVIEW中的數(shù)據(jù)庫訪問[J].電子測量技術(shù),2006,29(3):51-52.

[2] 畢 虎,律方成,李燕青,李和明.LabVIEW中訪問數(shù)據(jù)庫的幾種不同方法[J].微計算機信息,2006,22(1):131-134.

[3] 羅文輝.LabVIEW中的數(shù)據(jù)庫訪問[J].武漢理工大學學報,2006,28(3):13-16.

[4] 劉 玉,董志斌,吳建軍,孟 宏.基于ADO技術(shù)的LabVIEW訪問數(shù)據(jù)庫的方法[J].國外電子測量技術(shù),2003(增刊):55-56.

猜你喜歡
數(shù)據(jù)庫
數(shù)據(jù)庫
財經(jīng)(2017年15期)2017-07-03 22:40:49
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
兩種新的非確定數(shù)據(jù)庫上的Top-K查詢
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
數(shù)據(jù)庫
財經(jīng)(2015年3期)2015-06-09 17:41:31
數(shù)據(jù)庫
財經(jīng)(2014年21期)2014-08-18 01:50:18
數(shù)據(jù)庫
財經(jīng)(2014年6期)2014-03-12 08:28:19
數(shù)據(jù)庫
財經(jīng)(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 亚洲综合狠狠| 视频一区亚洲| 999福利激情视频| 国产精品私拍在线爆乳| 韩国自拍偷自拍亚洲精品| 亚洲AⅤ综合在线欧美一区| 中文字幕欧美日韩高清| 欧美三级视频网站| 国产簧片免费在线播放| 玖玖精品在线| a毛片在线免费观看| 久久免费精品琪琪| 亚洲免费黄色网| 国产你懂得| 国产精品尤物在线| 日韩欧美成人高清在线观看| 国产精品尤物在线| 毛片免费在线视频| a毛片免费在线观看| 免费毛片在线| 国产又粗又猛又爽| 欧美有码在线观看| 国产SUV精品一区二区| 久久男人视频| 色噜噜综合网| 亚洲日本韩在线观看| 日本精品影院| 精品国产成人国产在线| 伊人福利视频| 九九久久精品免费观看| 看国产一级毛片| 成年人免费国产视频| 亚洲国产无码有码| 欧洲日本亚洲中文字幕| 22sihu国产精品视频影视资讯| a级免费视频| 国产熟女一级毛片| 久久这里只有精品66| 日韩欧美国产中文| 重口调教一区二区视频| 中文字幕欧美日韩| 久久综合婷婷| 亚洲av日韩综合一区尤物| 色偷偷综合网| 精品福利一区二区免费视频| 欧美三级自拍| 久久狠狠色噜噜狠狠狠狠97视色| 久久精品国产免费观看频道| 亚洲无码熟妇人妻AV在线| 亚洲码一区二区三区| 国产黄色视频综合| 国产精品美女自慰喷水| 最新亚洲av女人的天堂| 自偷自拍三级全三级视频| 婷婷综合亚洲| 天天摸夜夜操| 欧美一级在线播放| 欧美高清国产| 久久这里只有精品免费| 国产免费网址| 蜜芽国产尤物av尤物在线看| 91免费国产高清观看| 一本大道香蕉中文日本不卡高清二区 | 亚洲国产综合自在线另类| 国产亚洲视频在线观看| 国产精品中文免费福利| 亚洲第一区在线| 日韩一区精品视频一区二区| 青青草原国产免费av观看| 无码乱人伦一区二区亚洲一| 久久大香伊蕉在人线观看热2| 在线观看国产黄色| 91在线播放免费不卡无毒| 国产一级毛片高清完整视频版| 伊人丁香五月天久久综合| 波多野吉衣一区二区三区av| 风韵丰满熟妇啪啪区老熟熟女| 激情视频综合网| 在线观看国产网址你懂的| 欧美国产在线精品17p| 狠狠干欧美| www亚洲精品|