labview與數(shù)據(jù)庫資料_第1頁
labview與數(shù)據(jù)庫資料_第2頁
labview與數(shù)據(jù)庫資料_第3頁
labview與數(shù)據(jù)庫資料_第4頁
labview與數(shù)據(jù)庫資料_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

(完整)labview與數(shù)據(jù)庫資料17.2 DatabaseConnectivity應(yīng)用典型實例17.2。1 在Access中建立一個數(shù)據(jù)庫使用NI所提供的數(shù)據(jù)庫工具包Database Connectivity只能操作數(shù)據(jù)庫,但是無法創(chuàng)建數(shù)據(jù)庫因此需要借助第三方數(shù)據(jù)庫管理系統(tǒng)如Access等來創(chuàng)建數(shù)據(jù)庫首先我們建立一個Datamdb的數(shù)據(jù)庫文件。打開Microsoft Access軟件,單擊文件〉〉新建…,選擇空數(shù)據(jù)庫,保存到文件夾下創(chuàng)建方法如圖17-11所示.圖17—11 在Access中創(chuàng)建數(shù)據(jù)庫表格在利用Database Connectivity工具包操作數(shù)據(jù)庫之前,需要先連接數(shù)據(jù)庫,連接數(shù)據(jù)的方法有以下兩種.DSN(完整)labview與數(shù)據(jù)庫資料LabVIEW數(shù)據(jù)庫工具包基于ODBOpenDatabaseConnectivityODBCDSN(DataSourceNames)才能連接到實際數(shù)據(jù)庫,所以需要首DSN。DatabaseConnectivityODBC17-12Windows“ODBC17-13圖17-12 DB Tools與ODBC的關(guān)系 圖17—13 “ODBC數(shù)據(jù)源管器”對話框DSN”DSN”頁面下創(chuàng)建的數(shù)DSN”,(完整)labview與數(shù)據(jù)庫資料“創(chuàng)建新數(shù)據(jù)源"對話框中選擇“Driver do Microsoft 然后單擊“完成按鈕,如圖17-14所示。隨后彈出“ODBC Microsoft Access安裝”對話框,輸入“數(shù)據(jù)源",如“LSData”,然后單擊“選擇"按鈕,選擇建立好的Datamdb數(shù)據(jù)庫文件單擊“確定"按鈕如圖17-15所示。圖17-14 “創(chuàng)建新數(shù)據(jù)源”對話框圖17—15 “ODBC Microsoft Access安裝”對話框DSN”LSDataDSNDSN(完整)labview與數(shù)據(jù)庫資料按照圖17—16所示的程序框圖編程,在DB Tools Open Connection.vi的輸入?yún)?shù)Connection information輸入創(chuàng)建的數(shù)據(jù)源名稱LSData,運行該程序,status并沒有亮起警,說明數(shù)據(jù)源可以正常連接.圖17-16 在程序中連接數(shù)據(jù)庫UDLMicrosoftActiveXADO(ActiveXDataObjects)技ADO是Microsoft提出的應(yīng)用程序接口(API用以實現(xiàn)訪問關(guān)系或非關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)UDL(UniversalDataLink)來獲取數(shù)據(jù)庫信息,以實現(xiàn)數(shù)據(jù)庫連接。Datamdb(注意文件的擴展名)新建〉>Microsoft17—17LSData.udl。(完整)labview與數(shù)據(jù)庫資料圖17-17新建數(shù)據(jù)鏈接雙擊打開LSData.udl文件,切換到“提供程序"頁面,從中選擇“MicrosoftJet4.0OLEDBProvider”,所示.切換到“連接”頁面,在“1.經(jīng)創(chuàng)建好的數(shù)據(jù)庫。完成后單擊“測試連接”按鈕,彈出“測試連接成功”對話框,表示已經(jīng)17—19圖17—18“數(shù)據(jù)鏈接屬性”對話框(完整)labview與數(shù)據(jù)庫資料圖17—19 成功連接數(shù)據(jù)庫17—20DBToolsOpenConnection.viConnectionInformationUDLVI,status亮起,說明連接成功.圖17—20 在程序中成功連接數(shù)據(jù)庫數(shù)據(jù)庫基本操作連接上數(shù)據(jù)庫后,就可以利用Database Connectivity的工具包對數(shù)據(jù)庫進行操作了。本節(jié)介紹數(shù)據(jù)庫中比較常用的幾種基本操作,包括創(chuàng)建表格、刪除表格、添加記錄、查詢記錄等創(chuàng)建表格Record段,在工具包中用Field(完整)labview與數(shù)據(jù)庫資料查詢上一節(jié)中的函數(shù)介紹,VI用于實現(xiàn)創(chuàng)建新的表格輸入?yún)?shù)Table是所創(chuàng)建的新的數(shù)表名稱,Column Information指定表格每一列的屬性,如圖17-21所示。Column name輸入字段名稱type輸入該字段的數(shù)據(jù)類型輸入該字段的大小注意這里的data type與LabVIEW所能支持的數(shù)據(jù)類型不同,圖17-22所示為data type下拉框所顯示的數(shù)據(jù)類型。圖17—23所示為LabVIEW數(shù)據(jù)類型和Database Connectivity工具包中data type數(shù)類型的對應(yīng)關(guān)系。圖17—21 Column Information欄 圖17—22 數(shù)據(jù)庫中data圖17-23 LabVIEW數(shù)據(jù)類型與type的數(shù)據(jù)類DB Tools中數(shù)據(jù)類型對照(完整)labview與數(shù)據(jù)庫資料17-24tableData.2008columninformation別輸入[Name/String/50]和[Age/String/50]Data。mdb,創(chuàng)建一個新的2008Name和Age.刪除表格相應(yīng)的,也有刪除數(shù)據(jù)庫表格的函數(shù).查找一下上一節(jié)數(shù)據(jù)庫函數(shù)的介紹DB Tools Drop Table.vi具有刪除數(shù)據(jù)庫表格的功能。圖17-24 創(chuàng)建新表17-25“2008Data。mdb,2008添加記錄添加一條記錄由函數(shù)DB Tools Insert Data。vi來完成。該VI的輸入?yún)?shù)table表要插入的數(shù)據(jù)庫表格名稱;data表示要插入的數(shù)據(jù);columns表示對應(yīng)的字段的名字,其數(shù)據(jù)類型是一個字符串?dāng)?shù)組。(完整)labview與數(shù)據(jù)庫資料17-26NameString,因此在插入一條記錄時,插入的數(shù)據(jù)也要按照相應(yīng)的數(shù)據(jù)類型來設(shè)置。運行完該程序后觀察數(shù)據(jù)庫表格的變化.其中函數(shù)DB Tools List Columns。vi列出了數(shù)據(jù)庫表格的段名。該函數(shù)的輸出段名以直接傳給DB Tools Insert Data.vi的輸入column.查詢記錄Database ConnectivityDB Tools Select Data.vi出來的數(shù)據(jù)經(jīng)過判斷得出其中的某一條符合結(jié)論的數(shù)據(jù)。按照圖17-27所示的程序框圖編程。圖17—27 查詢記錄函數(shù)Database Variant To Data用于將數(shù)據(jù)庫動態(tài)變量轉(zhuǎn)換成指定類型的數(shù)據(jù)在該子中轉(zhuǎn)換為字符串變量.(完整)labview與數(shù)據(jù)庫資料但是當(dāng)數(shù)據(jù)庫中的數(shù)據(jù)有成千上萬條記錄甚至更多呢,此時已經(jīng)無法通過讀取全部的記錄然后再檢索的方法來查找需要的那一條數(shù)據(jù).Database Connectivity工具包完全支持SQL語言。注意觀察的話,可以發(fā)現(xiàn)函數(shù)DB Tools Select Data。vi還有一個輸入?yún)?shù)optional clause,該端按照SQL語法輸入條件語句Database Connectivity工具包的用戶冊附錄A上有SQLd 快速參考手冊,SQL的條件查詢語法格式如圖17—28所示.圖17—28 SQL的條件查詢語法DBToolsSelectData。viSELECT需要在輸入端optionalclauseWHERE17—29“2008Name圖17-29 按照條件搜索記錄SQL(完整)labview與數(shù)據(jù)庫資料VIKSQL雙擊打開DB Tools Select Data。vi,打開它的程序框圖,如圖17—30所示。圖17—30 DB Tools SelectData.viDB Tools Select Datavi先創(chuàng)建了SQL語句然后用DB Tools Execute 來執(zhí)行SQL語句,以此實現(xiàn)對數(shù)據(jù)庫的操作.因此,在編程中也可以利用SQL語句和該函數(shù)來實現(xiàn)Database Connectivity Tools工具中沒有提供的功能。SQL按照圖17-31所示編程,查詢字段Name為郭靖的記錄。圖17-31 按照條件搜索記錄函數(shù)DB Tools Select Data.vi的功能為獲取記錄數(shù)據(jù),輸入?yún)?shù)Column index是索的開始索引,這里設(shè)置為0,即從0開始運行該函數(shù).SQL

(完整)labview與數(shù)據(jù)庫資料查詢SQL的參考手冊,刪除一條記錄的語句是“delete”,其語法是DELETE FROM table_nameWHERE column_name=some_value按照圖17—32編寫程序,刪除一條字段Name為“郭靖”的記錄。圖17-32 刪除記錄注意:在使用“delete”語句時,要注意以下兩點。l “delete”語句不能刪除單個字段的值,只能刪除一行、多行、所有行,或一行也不刪除.l “delete"語句僅能刪除記錄無法刪除數(shù)據(jù)庫表格本身刪除表要用“drop”語句要刪除表格,則可使用DB Tools Drop talbe.vi。壓縮數(shù)據(jù)庫刪除了記錄后,數(shù)據(jù)庫文件的大小并沒有減小,即使是把數(shù)據(jù)庫的記錄全部刪除,結(jié)果仍然情況,這就需要減少分配給數(shù)據(jù)庫文件和事物日志文件的磁盤空間,以免浪費磁盤空間。MicrosoftADOJetOLEDBProviderandReplicationObjects(JRO——CompactDatabase。Jet對象在文件Msjro。dll里面,如圖17—33所示(完整)labview與數(shù)據(jù)庫資料圖17-33 Msjro.dll位置那么LabVIEW如何訪問Jet對象呢,下面介紹訪問的方法。ActiveX在對象選擇列表框中選擇“JetEngine(JROJetEngine.26)”類的配置。“CompressDatabase”LabVIEWJet“CompressDatabase”17-349SQL在SQL中,修改一條記錄的語句是“update”,其語法為UPDATE table_nameSET column_name=new_valueWHERE 可以按照圖17—35所示的程序框圖編寫程序。(完整)labview與數(shù)據(jù)庫資料圖17-35 更新數(shù)據(jù)庫記錄17。3 生成可執(zhí)行文件和安裝文件17.3.1 生成可執(zhí)行文件UDL據(jù)庫文件添加到應(yīng)用程序的“始終包括”列表框中DB。lvprojODBCviDatamdbdataODBC17—36Data.mdb17—37運行可執(zhí)行函數(shù),沒有錯誤返回,表明已成功連接數(shù)據(jù)庫.(完整)labview與數(shù)據(jù)庫資料GetDBPath.viODBC17—38圖17—37 把數(shù)據(jù)庫文件添加到“始終包括”列表框中圖17-38 返回數(shù)據(jù)庫文件位17。3.2 生成安裝文件LabVIEW 8。6之前的版本,用到Database Connectivity工具包時,在生成安裝文件過程中,需要手動添加mdac_typ.exe的安裝文件?,F(xiàn)在已經(jīng)不需要這么做了,生成可執(zhí)行文件(完整)la

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論