下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于sql的labview數(shù)據(jù)庫訪問技術(shù)
1數(shù)據(jù)庫訪問技術(shù)使用excel進(jìn)行開發(fā)應(yīng)用程序時(shí),由于調(diào)試本身的數(shù)據(jù)庫訪問功能,一般解決方法如下。1)利用NI公司的附加數(shù)據(jù)庫接口工具包LabVIEWSQLToolkit進(jìn)行數(shù)據(jù)庫訪問。2)利用LabVIEW的ActiveX功能,調(diào)用MicrosoftADO控件,利用SQL語言實(shí)現(xiàn)數(shù)據(jù)庫訪問。3)利用其他語言如VisualC++編寫DLL程序訪問數(shù)據(jù)庫,再利用LabVIEW所帶的DLL接口——調(diào)用庫函數(shù)節(jié)點(diǎn)CLFN(CallLibraryFunctionNode)訪問該程序,這樣可以實(shí)現(xiàn)間接訪問數(shù)據(jù)庫。4)利用免費(fèi)的LabVIEW數(shù)據(jù)庫訪問工具LabSQL。2ado的程序LabSQL的開發(fā)是在LabVIEW中利用ActiveX功能,通過調(diào)用MicrosoftADO控件,結(jié)合SQL語言,并通過ODBC接口函數(shù)庫驅(qū)動(dòng)程序?qū)崿F(xiàn)對數(shù)據(jù)庫的訪問,其結(jié)構(gòu)層次見圖1。MicrosoftADO是微軟最新的數(shù)據(jù)訪問技術(shù),通過編程模型實(shí)現(xiàn)對數(shù)據(jù)庫的操作。編程模型是訪問和更新數(shù)據(jù)源所必需的操作順序,它概括了的全部功能。ADO的目標(biāo)是訪問、編輯和更新數(shù)據(jù)源;利用ADO所提供的類和對象可以完成以下操作:1)連接到數(shù)據(jù)源;2)指定訪問數(shù)據(jù)源的命令同時(shí)可帶變量參數(shù)或優(yōu)化執(zhí)行;3)執(zhí)行命令;4)如果這個(gè)命令使數(shù)據(jù)按表中行的形式返回,則將這些行存儲(chǔ)在易于檢查、操作或更改的緩存中;5)可使用緩存行的更改內(nèi)容來更新數(shù)據(jù)源;6)提供常規(guī)方法檢測錯(cuò)誤。ADO對象模型如圖2所示。這些操作都是對數(shù)據(jù)庫最基本的操作,可以分為Connection、Command、Recordset等三類,在應(yīng)用程序開發(fā)過程中,為實(shí)現(xiàn)對數(shù)據(jù)庫進(jìn)行訪問,這些操作方法以子函數(shù)的形式進(jìn)行封裝,例如經(jīng)過封裝后的SQLExecute.vi,SQLFetchData.vi等函數(shù)便可直接進(jìn)行調(diào)用,按照輸入的SQL命令可實(shí)現(xiàn)數(shù)據(jù)庫的不同操作。利用LabSQL訪問數(shù)據(jù)庫的基本步驟是連接數(shù)據(jù)庫、執(zhí)行操作、斷開數(shù)據(jù)庫連接等三個(gè)步驟,用戶在執(zhí)行操作階段輸入不同的SQL命令,可實(shí)現(xiàn)不同的數(shù)據(jù)庫操作,包括查詢?nèi)繑?shù)據(jù)記錄、按條件查詢數(shù)據(jù)、添加記錄、刪除記錄等。3數(shù)據(jù)庫管理子系統(tǒng)在開發(fā)某自動(dòng)測試系統(tǒng)過程中,由于有大量的測試信息需要存入數(shù)據(jù)庫記錄,同時(shí)為了滿足方便日后查詢的需要,測試系統(tǒng)應(yīng)用軟件包含了用于數(shù)據(jù)庫管理操作的應(yīng)用程序,通過點(diǎn)擊系統(tǒng)管理用戶界面的“數(shù)據(jù)庫管理”便可進(jìn)入數(shù)據(jù)庫管理應(yīng)用程序。在開發(fā)過程中,選用Access作為數(shù)據(jù)庫,在LabVIEW中使用LabSQL工具包對數(shù)據(jù)庫進(jìn)行訪問。3.1數(shù)據(jù)庫管理系統(tǒng)測試平臺的數(shù)據(jù)庫名稱為Test.mdb,該數(shù)據(jù)包含兩個(gè)數(shù)據(jù)表項(xiàng),分別是test_condition和test_reslut;這兩個(gè)表是進(jìn)行數(shù)據(jù)庫操作的基礎(chǔ)。通過控制面板中的數(shù)據(jù)源(ODBC)設(shè)置工具,對Test.mdb進(jìn)行數(shù)據(jù)源的注冊設(shè)置。開發(fā)的數(shù)據(jù)庫管理用戶界面如圖3所示。該界面分三個(gè)區(qū)域,分別是操作提示區(qū)、操作區(qū)、結(jié)果顯示區(qū)等三個(gè)部分。操作提示區(qū)用于提示用戶如何進(jìn)行相關(guān)的數(shù)據(jù)庫操作。操作區(qū)用于具體的數(shù)據(jù)庫操作,用戶可按測試時(shí)間、被測電路板名稱、測試結(jié)果等三個(gè)索引對測試結(jié)果數(shù)據(jù)進(jìn)行查詢、打印、刪除等操作。在進(jìn)行該部分程序開發(fā)時(shí),為避免用戶直接輸入SQL查詢語句,在編程上將SQL查詢語句放入后臺進(jìn)行處理,用戶僅需根據(jù)提示區(qū)的提示,在查詢命令框中輸入簡單的關(guān)鍵詞即可實(shí)現(xiàn)對數(shù)據(jù)庫的操作。3.2dsn端口和生物電子函數(shù)為實(shí)現(xiàn)對數(shù)據(jù)庫的操作管理以及數(shù)據(jù)獲取的需要,以下子函數(shù)在數(shù)據(jù)庫管理應(yīng)用程序得開發(fā)過程中扮演者重要的角色。1)InsertTable.vi,該子函數(shù)用于將測試結(jié)果寫入數(shù)據(jù)庫。該函數(shù)的主要操作對象是test_result數(shù)據(jù)表,將該子函數(shù)進(jìn)行封裝,見圖4。函數(shù)圖標(biāo)留有若干輸入輸出端口,主要的數(shù)據(jù)連接端口有DSN(databasesourcename,數(shù)據(jù)源名稱)端口、board_name(電路板名稱)端口、f1_value(輸出信號頻率測量值)、amp1_value(輸出信號幅度測量值)、f1_standard(輸出信號頻率標(biāo)準(zhǔn)值)、amp1_standard(輸出信號幅度標(biāo)準(zhǔn)值)、result(測試結(jié)論)等端口。DSN端口用于打開數(shù)據(jù)庫中的存儲(chǔ)測試結(jié)果表項(xiàng);board_name用于將當(dāng)前被測電路板的名稱存入數(shù)據(jù)庫,便于查詢索引;f1_value和amp1_value為被采集信號經(jīng)過分析后的測量值;f1_standard和amp1_standard來自測試條件數(shù)據(jù)表,這兩個(gè)值的獲取也是通過數(shù)據(jù)庫操作函數(shù)得到的;result來自測試結(jié)果處理子函數(shù),若被測電路板通過測試,則表達(dá)為“合格”,反之為“不合格”。2)_fetchoneelement.vi,該子函數(shù)用于從數(shù)據(jù)庫中獲取一個(gè)值,主要用于程序開發(fā)時(shí)的參數(shù)獲取,例如獲得電路板X的輸入信號的頻率值。該子函數(shù)的操作對象主要是test_condition數(shù)據(jù)表,獲取的值主要用于傳送給信號源模塊PXI-5412的參數(shù)設(shè)置端。源代碼程序見圖5,封裝后的程序見圖6。DSN端口用于打開數(shù)據(jù)庫中的測試條件表項(xiàng);board_name端口作為查詢的行索引,取出與電路板名稱相符的測試條件數(shù)據(jù);parameter(參數(shù)名)端口的輸入作為查詢的列字段索引;輸出端口output1和output2為類型不同的輸出,分別是數(shù)值型和字符型。例如,為取得電路板X的輸入信號的頻率值,那么在board_name端口輸入字符串“X”,在parameter端口輸入signal1_f,那么在程序運(yùn)行時(shí),從output1端口,就可從數(shù)據(jù)庫的測試條件test_condition表中獲得電路板X輸入信號的頻率值。3)DB_delete.vi,該子程序用于將查詢結(jié)果從數(shù)據(jù)庫中進(jìn)行刪除操作。以上幾個(gè)數(shù)據(jù)庫操作子函數(shù)是數(shù)據(jù)庫管理應(yīng)用程序開發(fā)時(shí)常用的函數(shù),在開發(fā)過程中,對上述的功能子函數(shù)進(jìn)行適當(dāng)?shù)恼{(diào)用或二次開發(fā)封裝可以滿足對不同數(shù)據(jù)獲取的要求。3.3sql查詢命令的生成在數(shù)據(jù)庫管理軟件的開發(fā)過程中,雖然利用了LabSQL工具包,但不可避免地要用到簡單的SQL查詢命令語句。在開發(fā)的過程中,常用到的SQL語句有以下幾種。1列名論SELECT<查詢內(nèi)容>FROM<表或視圖>WHERE<條件>ORDERBY<列名>。開發(fā)時(shí)常用到的SQL語句有查詢?nèi)繙y試結(jié)果記錄語句:SELECT*FROMtest_result查詢指定方式的SQL語句為:SELECT*FROMtest_resultWHERETest_time=‘060920’2轉(zhuǎn)化測試結(jié)果表,插即出學(xué)習(xí)結(jié)果表,《磺酸酸》,《磺酸鹽系統(tǒng)見表2,5,5.向測試結(jié)果數(shù)據(jù)表中插入一次測試的結(jié)果記錄時(shí),SQL語句格式為:INSERTINTO<表名>(<列名1>,……)VALUES(<列值>,……)向測試結(jié)果表test_result中插入記錄的SQL語句如下:INSERTINTOtest_result(Test_time,bord_name,f1_value,amp1_value,f1_standard,amp1_standard,result)VALUES(<列值>,……)3反復(fù)加裝置的測試信息DELETEFROM<表名>WHERE<條件>下面是對查詢結(jié)果進(jìn)行刪除的SQL語句:DELETEFROMtest_resultWHEREboard_name=‘XX’當(dāng)程序執(zhí)行完上述語句后,在rest_result表中,所有關(guān)于電路板XX的測試信息全部被刪除??梢愿鶕?jù)刪除條件的不同,刪除不同的測試信息。4對所使用的技術(shù)的開
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版奶粉生產(chǎn)廢棄物資源化利用服務(wù)合同范本頁24篇
- 2025版教育培訓(xùn)機(jī)構(gòu)品牌授權(quán)及門店移交合同3篇
- 二零二五年度農(nóng)機(jī)零部件進(jìn)出口貿(mào)易合同
- 2025年度綠色環(huán)保內(nèi)墻涂料工程高品質(zhì)施工服務(wù)合同4篇
- 二零二五年度面粉原料進(jìn)口關(guān)稅減免申請合同4篇
- 二零二五年度二手房買賣合同補(bǔ)充條款協(xié)議書(含交易透明)3篇
- 二零二五年度文化演出活動(dòng)贊助合同正規(guī)范本
- 二零二四年度嬰幼兒專用奶粉代理權(quán)租賃合同范本3篇
- 二零二五年度企業(yè)人力資源戰(zhàn)略規(guī)劃與實(shí)施合同范本9篇
- 2025年度個(gè)人與個(gè)人藝術(shù)品拍賣合同范本4篇
- 農(nóng)民工工資表格
- 【寒假預(yù)習(xí)】專題04 閱讀理解 20篇 集訓(xùn)-2025年人教版(PEP)六年級英語下冊寒假提前學(xué)(含答案)
- 2024年智能監(jiān)獄安防監(jiān)控工程合同3篇
- 2024年度窯爐施工協(xié)議詳例細(xì)則版B版
- 幼兒園籃球課培訓(xùn)
- 護(hù)理查房高鉀血癥
- 項(xiàng)目監(jiān)理策劃方案匯報(bào)
- 《職業(yè)培訓(xùn)師的培訓(xùn)》課件
- 建筑企業(yè)新年開工儀式方案
- 一例產(chǎn)后出血的個(gè)案護(hù)理
- 急診與災(zāi)難醫(yī)學(xué)課件 03 呼吸困難大課何琳zhenshi
評論
0/150
提交評論