第九講 組態(tài)王與數(shù)據(jù)庫連接_第1頁
第九講 組態(tài)王與數(shù)據(jù)庫連接_第2頁
第九講 組態(tài)王與數(shù)據(jù)庫連接_第3頁
第九講 組態(tài)王與數(shù)據(jù)庫連接_第4頁
第九講 組態(tài)王與數(shù)據(jù)庫連接_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第九講 組態(tài)王與數(shù)據(jù)庫連接 - 101 -第九講 組態(tài)王與數(shù)據(jù)庫連接在本課程您將: 了解組態(tài)王SQL訪問管理器 了解如何與外部數(shù)據(jù)庫進行連接 了解如何向數(shù)據(jù)庫中寫入數(shù)據(jù) 了解如何查詢數(shù)據(jù)庫中的數(shù)據(jù)第一節(jié) SQL訪問管理器概述組態(tài)王SQL訪問功能實現(xiàn)組態(tài)王和其他外部數(shù)據(jù)庫(通過ODBC訪問接口)之間的數(shù)據(jù)傳輸。它包括組態(tài)王的SQL訪問管理器和相關(guān)的SQL函數(shù)。SQL訪問管理器用來建立數(shù)據(jù)庫字段和組態(tài)王變量之間的聯(lián)系,包括“表格模板”和“記錄體”兩部分。通過表格模板在數(shù)據(jù)庫表中建立相應(yīng)的表格;通過記錄體建立數(shù)據(jù)庫字段和組態(tài)王之間的聯(lián)系。同時允許組態(tài)王通過記錄體直接操作數(shù)據(jù)庫中的數(shù)據(jù)。創(chuàng)建數(shù)據(jù)源及數(shù)

2、據(jù)庫首先建一個數(shù)據(jù)庫,這里我們選用Access數(shù)據(jù)庫(路徑:d:peixun,數(shù)據(jù)庫名為:mydb.accdb)。然后,用Windows控制面板管理工具數(shù)據(jù)源(ODBC)新建一個Microsoft Access Driver(*.mdb, *.accdb)驅(qū)動的數(shù)據(jù)源,名為:mine,然后配置該數(shù)據(jù)源,指向剛才建立的Access數(shù)據(jù)庫(即mydb.accdb),如圖9-1所示:圖9-1 ODBC數(shù)據(jù)源的建立創(chuàng)建表格模板1、在工程瀏覽器窗口左側(cè)“工程目錄顯示區(qū)”中選擇“SQL訪問管理器”中的“表格模板”選項,在右側(cè)“目錄內(nèi)容顯示區(qū)”中雙擊“新建”圖標(biāo)彈出創(chuàng)建表格模板對話框,在對話框中建立三個字段

3、,如圖9-2所示:圖9-2 創(chuàng)建表格模板對話框2、單擊“確認”按鈕完成表格模板的創(chuàng)建。建立表格模板的目的是定義數(shù)據(jù)庫格式,在后面用到SQLCreatTable()函數(shù)時以此格式在Access數(shù)據(jù)庫中自動建立表格。創(chuàng)建記錄體1、在工程瀏覽器窗口左側(cè)“工程目錄顯示區(qū)”中選擇“SQL訪問管理器”中的“記錄體”選項,在右側(cè)“目錄內(nèi)容顯示區(qū)”中雙擊“新建”圖標(biāo)彈出創(chuàng)建記錄體對話框,對話框設(shè)置如圖9-3所示:圖9-3 創(chuàng)建記錄體對話框記錄體中定義了Access數(shù)據(jù)庫表格字段與組態(tài)王變量之間的對應(yīng)關(guān)系,對應(yīng)關(guān)系如下所示:Access數(shù)據(jù)庫表格字段組態(tài)王變量日期字段local$Date時間字段local$Ti

4、me原料油液位值local原料油液位即:將組態(tài)王中l(wèi)ocal$Date變量值寫到Access數(shù)據(jù)庫表格日期字段中;將local$Time變量值寫到Access數(shù)據(jù)庫表格時間字段中;將local原料油液位變量值寫到Access數(shù)據(jù)庫表格原料油液位值字段中;2、單擊“確認”按鈕完成記錄體的創(chuàng)建。 注:記錄體中的字段名稱必須與表格模板中的字段名稱保持一致,記錄體中字段對應(yīng)的變量數(shù)據(jù)類型必須和表格模板中相同字段對應(yīng)的數(shù)據(jù)類型相同。第二節(jié) 對數(shù)據(jù)庫的操作連接數(shù)據(jù)庫1、在工程瀏覽器窗口的數(shù)據(jù)詞典中定義一個內(nèi)存整型變量:變量名:DeviceID變量類型:內(nèi)存整型2、新建一畫面,名稱為:數(shù)據(jù)庫操作畫面。3、選

5、擇工具箱中的工具,在畫面上輸入文字:數(shù)據(jù)庫操作。4、在畫面中添加一按鈕,按鈕文本為:數(shù)據(jù)庫連接。5、在按鈕的彈起事件中輸入如下命令語言,如圖9-4所示:圖9-4 數(shù)據(jù)庫連接命令語言上述命令語言的作用是使組態(tài)王與mine數(shù)據(jù)源建立了連接(即與mydb.mdb數(shù)據(jù)庫建立了連接)。在實際工程中將此命令寫入:工程瀏覽器命令語言應(yīng)用程序命令語言啟動時中,即系統(tǒng)開始運行就連接到數(shù)據(jù)庫上。創(chuàng)建數(shù)據(jù)庫表格1、在數(shù)據(jù)庫操作畫面中添加一按鈕,按鈕文本為:創(chuàng)建數(shù)據(jù)庫表格。2、在按鈕的彈起事件中輸入如下命令語言,如圖9-5所示:圖9-5 創(chuàng)建數(shù)據(jù)庫表格命令語言上述命令語言的作用是以表格模板“Table1”的格式在數(shù)據(jù)

6、庫中建立名為“KingTable”的表格。在生成的KingTable表格中,將生成三個字段,字段名稱分別為:日期,時間,原料油液位值,每個字段的變量類型、變量長度及索引類型與表格模板“Table1”中的定義一致。此命令語言只需執(zhí)行一次即可,如果表格摸板有改動,需要用戶先將數(shù)據(jù)庫中的表格刪除才能重新創(chuàng)建。在實際工程中將此命令寫入:工程瀏覽器命令語言應(yīng)用程序命令語言啟動時中,即系統(tǒng)開始運行就建立數(shù)據(jù)庫表格。插入記錄1、在數(shù)據(jù)庫操作畫面中添加一按鈕,按鈕文本為:插入記錄。2、在按鈕的彈起事件中輸入如下命令語言,如圖9-6所示:圖9-6 插入記錄命令語言上述命令語言的作用是在表格KingTable中插

7、入一個新的記錄。按下此按鈕后,組態(tài)王會將bind1中關(guān)聯(lián)的組態(tài)王變量的當(dāng)前值插入到Access數(shù)據(jù)庫表格“KingTable”中,從而生成一條記錄,從而達到了將組態(tài)王數(shù)據(jù)寫到外部數(shù)據(jù)庫中的目的,查詢記錄用戶如果需要將數(shù)據(jù)庫中的數(shù)據(jù)調(diào)入組態(tài)王來顯示,需要另外建立一個記錄體,此記錄體的字段名稱要和數(shù)據(jù)庫表格中的字段名稱一致,連接的變量與數(shù)據(jù)庫中字段的類型一致,操作過程如下:1、在工程瀏覽器窗口的數(shù)據(jù)詞典中:a、變量名:記錄日期變量類型:內(nèi)存字符串初始值:空b、變量名:記錄時間變量類型:內(nèi)存字符串初始值:空c、變量名:原料油液位返回值變量類型:內(nèi)存實型初始值:02、新建一畫面,名稱為:數(shù)據(jù)庫查詢畫面

8、。3、選擇工具箱中的工具,在畫面上輸入文字:數(shù)據(jù)庫查詢。4、在畫面上添加三個文本框,在文本框的“字符串輸出”、“模擬量值輸出”動畫中分別連接變量本站點記錄日期、本站點記錄時間、本站點原料油液位返回值,用來顯示查詢出來的結(jié)果。5、在工程瀏覽窗口中定義一個記錄體,記錄體窗口屬性設(shè)置如圖9-7所示:圖9-7 記錄體屬性設(shè)置對話框6、在畫面中添加一按鈕,按鈕文本為:得到選擇集7、在按鈕的彈起事件中輸入如下命令語言,如圖9-8所示: 圖9-8 記錄查詢命令語言對話框此命令語言的作用是:以記錄體Bind2中定義的格式返回KingTable表格中第一條數(shù)據(jù)記錄。8、單擊“文件”菜單中的“全部存”命令,保存您

9、所作的設(shè)置。9、單擊“文件”菜單中的“切換到VIEW”命令,進入運行系統(tǒng)。運行此畫面,單擊“得到選擇集”按鈕數(shù)據(jù)庫中的數(shù)據(jù)記錄顯示在文本框中,如圖9-9所示:圖9-9 數(shù)據(jù)庫記錄查詢10、在畫面上添加四個按鈕,按鈕屬性設(shè)置如下:a、按鈕文本:第一條記錄“彈起時”動畫連接:SQLFirst( DeviceID );b、按鈕文本:下一條記錄“彈起時”動畫連接:SQLNext( DeviceID );c、按鈕文本:上一條記錄“彈起時”動畫連接:SQLPrev( DeviceID );d、按鈕文本:最后一條記錄“彈起時”動畫連接:SQLLast( DeviceID );上述命令語言的作用分別為查詢數(shù)據(jù)

10、中第一條記錄、下一條記錄、上一條記錄和最后一條記錄從而達到了數(shù)據(jù)查詢的目的。斷開連接1、在“數(shù)據(jù)庫操作畫面”中添加一按鈕,按鈕文本為:斷開數(shù)據(jù)庫連接。2、在按鈕的彈起事件中輸入如下命令語言SQLDisconnect( DeviceID); 如圖9-10所示:圖9-10 斷開數(shù)據(jù)庫連接命令語言在實際工程中將此命令寫入:工程瀏覽器命令語言應(yīng)用程序命令語言退出時中,即系統(tǒng)退出后斷開與數(shù)據(jù)庫的連接。第三節(jié) 數(shù)據(jù)庫查詢控件利用組態(tài)王提供的KVADODBGrid Class 控件可方便地實現(xiàn)數(shù)據(jù)庫查詢工作,操作過程如下:1、 單擊工具箱中的“插入通用控件”工 具或選擇菜單命令“編輯插入通用控件”,則彈出控

11、件對話框。在控件對話框內(nèi)選擇“KVADODBGrid Class”選項,如圖9-11所示:圖9-11 通用控件對話框2、在畫面中添加一KVADODBGrid Class控件選中并雙擊控件,在彈出的動畫連接屬性對話框中設(shè)置控件名稱為:grid1。3、選中控件并單擊鼠標(biāo)右鍵,在彈出的下拉菜單中執(zhí)行“控件屬性”命令彈出屬性對話框,如圖9-12所示: 圖9-12 控件屬性對話框單擊窗口中的“瀏覽”按鈕,在彈出的數(shù)據(jù)源選擇對話框中選擇前面創(chuàng)建的mine數(shù)據(jù)源,此時與此數(shù)據(jù)源連接的數(shù)據(jù)庫中所有的表格顯示在“表名稱”的下拉框中,從中選擇欲查詢的數(shù)據(jù)庫表格,(在這里我們選擇前面建立的KingTable表格),此表格中建立的所有字段將顯示在“有效字段”中,利用和選擇您所查詢的字段名稱并可通過“標(biāo)題”和“格式”編輯框?qū)ψ侄芜M行編輯。4、設(shè)置完畢后關(guān)閉此對話框,利用按鈕的命令語言實現(xiàn)數(shù)據(jù)庫查詢和打印工作,設(shè)置如下:按鈕一:查詢?nèi)坑涗洠篻rid1.FetchData() ;grid1.FetchEnd() ;按鈕二:條件查詢:long aa;aa= grid1.QueryDialog();if (aa=1)grid1.FetchData();grid

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論