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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

(完整)labview與數據庫資料編輯整理:尊敬的讀者朋友們:這里是精品文檔編輯中心,本文檔內容是由我和我的同事精心編輯整理后發布的,發布之前我們對文中內容進行仔細校對,但是難免會有疏漏的地方,但是任然希望((完整)labview與數據庫資料)的內容能夠給您的工作和學習帶來便利。同時也真誠的希望收到您的建議和反饋,這將是我們進步的源泉,前進的動力。本文可編輯可修改,如果覺得對您有幫助請收藏以便隨時查閱,最后祝您生活愉快業績進步,以下為(完整)labview與數據庫資料的全部內容。(完整)labview與數據庫資料DatabaseConnectivity應用典型實例17.2.1在Access中建立一個數據庫使用NI所提供的數據庫工具包DatabaseConnectivity只能操作數據庫,但是無法創建數據庫,因此需要借助第三方數據庫管理系統,如Access等來創建數據庫.首先我們建立一個Data。mdb的數據庫文件。打開MicrosoftAccess軟件,單擊文件〉〉新建…,選擇空數據庫,保存到文件夾下。創建方法如圖17-11所示。圖17—11在Access中創建數據庫表格在利用DatabaseConnectivity工具包操作數據庫之前,需要先連接數據庫,連接數據庫的方法有以下兩種。1.利用DSN連接數據庫LabVIEW數據庫工具包基于ODBC(OpenDatabaseConnectivity)技術,在使用ODBCAPI函數之前,需要提供數據源名DSN(DataSourceNames)才能連接到實際數據庫,所以需要首先創建DSN。DatabaseConnectivity工具包與ODBC的關系如圖17—12所示.

(完整)labview與數據庫資料打開Windows控制面板>〉管理工具,選擇數據源,進入“ODBC數據源管理器”對話框,如圖17-13所示。圖17—12DBTools與ODBC的關系圖17-13“ODBC數據源管理器”對話框在“用戶DSN"頁面下創建的數據源只有本用戶才能訪問,在“系統DSN”頁面下創建的數據源,該系統下的所有用戶都可以訪問。在此選擇“用戶DSN”,單擊“添加”按鈕,在彈出的“創建新數據源"對話框中選擇“DriverdoMicrosoftAccess(*mdb)”,然后單擊"完成”按鈕,如圖17—14所示。隨后彈出“ODBCMicrosoftAccess安裝”對話框,輸入“數據源名",如“LSData”,然后單擊“選擇”按鈕,選擇建立好的Data.mdb數據庫文件,單擊“確定”按鈕,如圖17—15所示。圖17-14“創建新數據源”對話框1*hTUb圖圖17-14“創建新數據源”對話框1*hTUb圖17—16在程序中連接數據庫圖17-15“ODBCMicrosoftAccess安裝”對話框完成以上配置后,就可以在“用戶DSN”頁面下看到新創建的名為LSData的DSN了。單擊“確定”按鈕可完成DSN的建立。按照圖17-16所示的程序框圖編程,在DBToolsOpenConnection.vi的輸入參數Connectioninformation輸入創建的數據源名稱LSData,運行該程序,status并沒有亮起示警,說明數據源可以正常連接.。。郵vftVLDB1O011Cl”串fvj.

2.利用UDL連接數據庫Microsoft還提供了另一種技術,即ActiveX數據對象ADO(ActiveXDataObjects)技術.ADO是Microsoft提出的應用程序接口(API)用以實現訪問關系或非關系數據庫中的數據。ADO使用通用數據連接UDL(UniversalDataLink)來獲取數據庫信息,以實現數據庫連接。在Data。mdb(注意文件的擴展名)所在的文件夾下單擊鼠標右鍵,在彈出的快捷菜單中選擇新建〉Microsoft數據鏈接,如圖17-17所示。命名新建的數據庫鏈接名稱為LSData.udl。ill)CoiitrtilCtiittr耳列孵(I)「盲星女工件妥CD06ft)1,建tty集萬還目!購也)J丫快ET方古臣)公丈包邂JShir?。如Of£icese國用序HicrosoftrwEFfainl播宗交耳昏VMR壓敏件c丈定攵擋■以.責旺標Msev4Ke<ftEazlXffW圖17-17新建數據鏈接雙擊打開LSData。udl文件,切換到“提供程序”頁面,從中選擇“MicrosoftJet4。0OLEDBProvider”,設置完成單擊"下一步"按鈕,如圖17-18所示。切換到“連接”頁面,在“1.選擇或輸入數據庫名稱"文本框右側,單擊按鈕,選擇已經創建好的數據庫。完成后單擊“測試連接"按鈕,彈出“測試連接成功”對話框,表示已經成功連接數據庫,如圖17-19所示。

圖17—18“圖17—18“數據鏈接屬性”對話框圖17—19成功連接數據庫完成后,按照圖17-20所示的程序框圖編程.DBToolsOpenConnectionovi的輸入參數ConnectionInformation輸入前面所創建的UDL文件路徑.運行該VI,status燈并無示警亮起,說明連接成功。DBTaioiliOntoConiniction.viDBTi&li"CLdttCa瞄蛀丘心W圖17-20在程序中成功連接數據庫數據庫基本操作JString圖17—21欄ColumnInformation圖17—22數據庫中(JString圖17—21欄ColumnInformation圖17—22數據庫中連接上數據庫后,就可以利用DatabaseConnectivity的工具包對數據庫進行操作了。本節介紹數據庫中比較常用的幾種基本操作,包括創建表格、刪除表格、添加記錄、查詢記錄等。創建表格數據表中的每一行表示一個記錄,在工具包中用Record來表示;每一列表示記錄中的一個字段,在工具包中用Field表示。能夠標識表中某一行的屬性或屬性組稱做主鍵,一個表只能擁有一個主鍵,但可以有多個候選索引.查詢上一節中的函數介紹,VI:用于實現創建新的表格,輸入參數Table是所創建的新的數據表名稱,ColumnInformation指定表格每一列的屬性,如圖17-21所示.Columnname輸入字段名稱,datatype輸入該字段的數據類型,siz輸入該字段的大小.注意這里的datatype與LabVIEW所能支持的數據類型不同,圖17-22所示為datatype下拉框所顯示的數據類型。圖17一23所示為LabVIEW數據類型和DatabaseConnectivity工具包中datatype數據類型的對應關系。Single&L)Double038L)Datt/Tina8marydataLabVIEW數據賣業收據原敷掘類型NumbfirNdMbAFSiriir>5psPaitiStrangiArra^ffinffiy,Cli^lErBinaryBooleanStringwNumberEhurnNumherVariantSinaryEgS'pxyWDTSinanyRegnumNotsupported-VOChannelS-tnng:SrnpAexWutmifcHersfinally圖17—23LabVIEW數據類型與type的數據類型DBTools中數據類型對照按照圖17-24所示的程序框圖編程,table輸入Data.2008報表,columninformation分別輸入[Name/String/50]和[Age/String/50].運行該程序后,打開Data.mdb,創建一個新的表格名為2008報表,有兩個字段:Name和Age。刪除表格相應的,也有刪除數據庫表格的函數。查找一下上一節數據庫函數的介紹,DBToolsDropTable。vi具有刪除數據庫表格的功能.圖17—24創建新表按照圖17-25所示的程序框圖編程,把之前創建的數據庫表格“2008報表”刪除。雙擊打開Data.mdb數據庫查看,2008報表數據文件已經成功被刪除。添加記錄(完整)labview與數據庫資料添加一條記錄由函數DBToolsInsertData。vi來完成.該VI的輸入參數table表示要插入的數據庫表格名稱;data表示要插入的數據;columns表示對應的字段的名字,其數據類型是一個字符串數組。按照圖17-26所示的程序框圖編程,因為我們在創建表格的時候指定了段名為Name和Age,并且指定數據類型為String,因此在插入一條記錄時,插入的數據也要按照相應的數據類型來設置.運行完該程序后觀察數據庫表格的變化.其中函數DBToolsListColumnsovi列出了數據庫表格的段名.該函數的輸出段名可以直接傳給DBToolsInsertData.vi的輸入columno查詢記錄DatabaseConnectivity工具包并沒有設置查詢一條記錄的函數。函數DBToolsSelectData.vi把所連接的數據庫表格的所有數據都讀取出來,用戶只能從讀取出來的數據經過判斷得出其中的某一條符合結論的數據。按照圖17-27所示的程序框圖編程。coriELtclio-n?n圖17—27查詢記錄函數DatabaseVariantToData用于將數據庫動態變量轉換成指定類型的數據.在該例子中轉換為字符串變量。但是當數據庫中的數據有成千上萬條記錄甚至更多呢,此時已經無法通過讀取全部的記錄,然后再檢索的方法來查找需要的那一條數據。DatabaseConnectivity工具包完全支持SQL語言。注意觀察的話,可以發現函數DBToolsSelectData.vi還有一個輸入參數optionalclause,該端按照SQL語法輸入條件語句.DatabaseConnectivity工具包的用戶手冊附錄A上有SQLd快速參考手冊,SQL的條件查詢語法格式如圖17-28所示。SELECTSELECT[DISTINCT]{*SELECTSELECT[DISTINCT]{*Ml_&KpT..CCil^CKpr,.『??}frona-cliause[HHEEIE{where_elausej|SliLECT此i<3qiii?ry必|?日THduihikFROMclaiuh-imeTables.AWHEREku>cJtorc^tricEIhc^kciinn:。時ORDERI3¥andGROUPBYarc郵Z炒□rgjit血顯ihcrcjiullinj;Jala..[-QKOUPBY(-groLspelauae,[HAVING(hjaving^^lauscP.n.j|]SELECTeall.ml%?13FROMLftblWE9EREcell>■(CS13*C4312)ORDERBYCO1[-QKOUPBY(-groLspelauae,[HAVING(hjaving^^lauscP.n.j|][FORUPDATEOF|「”_宣柢而iamH圖17—28SQL的條件查詢語法而函數DBToolsSelectData.vi已經把SELECT語句編寫好集成在函數中了,用戶只需要在輸入端optionalclause添加WHERE的條件語句即可。圖17—29所示是從“2008報表”這張數據庫表格中找出字段Name等于字符串“郭靖”的記錄讀取出來。區'Dj圖17—29按照條件搜索記錄SQL語句的操作數據庫操作除了創建表格、刪除表格、添加記錄、查詢記錄等功能以外,常用的還有刪除記錄、更新數據等操作,但是這些操作并沒有現成的VIK可以使用,因此需要借助SQL語句以及SQL語句的執行操作函數來實現。雙擊打開DBToolsSelectData。vi,打開它的程序框圖,如圖17-30所示。

圖17—30DBToolsSelectData.viDBToolsSelectData。vi先創建了SQL語句,然后用DBToolsExecuteQuery。vi來執行SQL語句,以此實現對數據庫的操作。因此,在編程中也可以利用SQL語句和該函數來實現DatabaseConnectivityTools工具包中沒有提供的功能。1.用SQL實現數據查詢操作按照圖17—31所示編程,查詢字段Name為郭靖的記錄.Iielvct*frofl2008JR圖17-31按照條件搜索記錄函數DBToolsSelectData.vi的功能為獲取記錄數據,輸入參數Columnindex是搜索的開始索引,這里設置為0,即從0開始運行該函數。2.用SQL刪除一條記錄查詢SQL的參考手冊,刪除一條記錄的語句是“delete”,其語法是:DELETEFROMtable_nameWHEREcolumn_name=some_value按照圖17—32編寫程序,刪除一條字段Name為“郭靖”的記錄。

圖17-32刪除記錄注意:在使用“delete”語句時,要注意以下兩點。l“delete"語句不能刪除單個字段的值,只能刪除一行、多行、所有行,或一行也不刪除。l“delete”語句僅能刪除記錄,無法刪除數據庫表格本身;刪除表要用“drop”語句;若要刪除表格,則可使用DBToolsDroptalbe.vio3.壓縮數據庫刪除了記錄后,數據庫文件的大小并沒有減小,即使是把數據庫的記錄全部刪除,結果仍然是一樣.這是因為數據庫在使用一段時間以后,會出現因數據刪除造成數據庫中空閑空間太多的情況,這就需要減少分配給數據庫文件和事物日志文件的磁盤空間,以免浪費磁盤空間。Microsoft提供了一個壓縮數據庫的方法,其思想是使用ADO的擴展:MicrosoftJetOLEDBProviderandReplicationObjects(JRO)中的方法CompactDatabase.Jet對象在文件Msjro.dll里面,如圖17-33所示壤■利ro_麗]CAFropmfil<sKB座用堤序J"屢圖17—33Msjroodll位置那么LabVIEW如何訪問Jet對象呢,下面介紹訪問的方法。在前面板放置一個自動化引用句柄,在右鍵菜單中選擇“選擇ActiveX類〉〉瀏覽”,在彈出的“從類型庫中選擇對象”對話框中單擊“瀏覽”按鈕,按照上圖路徑選擇Msjro.dll,然后在對象選擇列表框中選擇“JetEngine(JRO。JetEngine.2.6)”,單擊“確定”按鈕完成ActiveX類的配置。由4匚wmp等ctKiaA直卜匿宮目lcB"Sum'ccLiftDeetici[i1SWTORWegJUD.IJ*I粼遍(SE3在程序框圖中放置一個調用節點,右鍵單擊該節點,選擇方法CompressDatabase”,到此就實現了LabVIEW中調用Jet對象的CompressDatabase"的方法,如圖17-34所示。這個方法僅僅是對原數據庫做了一個壓縮后的備份,所以還需要把原文件刪除,用這個備份來替代原數據庫文件.刪除文件的方法可以參考第9章。(完整)labview與數據庫資料4.用SQL實現修改數據操作在SQL中,修改一條記錄的語句是“update”,其語法為:UPDATEtable_nameSETcolumn_name=new_valueWHEREcolumn_name=some_value可以按照圖17—35所示的程序框圖編寫程序。□E.\d_4tittiv□E.\d_4tittivitv\LSD虬£a.3JDLuhtla(eptrr^rJL』匚:£….…?―….?..圖17-35更新數據庫記錄生成可執行文件和安裝文件17。3.1生成可執行文件17。3.1生成可執行文件在生成可執行文件時,用戶不需要關心UDL文件等問題,唯一需要關注的是把所有用到的數據庫文件添加到應用程序的“始終包括”列表框中首先要創建工程DB.lvproj,并把之前所創建的文件ODBC連接數據源。vi添加到項目中,之前所創建的Data.mdb放置于該項目目錄下的data文件夾下。按照上面的方法重新連接設置ODBC數據源,如圖17—36所示.

(完整)labview與數據庫資料在創建“我的應用程序”時,可以把

溫馨提示

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

評論

0/150

提交評論