第九講 組態王與數據庫連接_第1頁
第九講 組態王與數據庫連接_第2頁
第九講 組態王與數據庫連接_第3頁
第九講 組態王與數據庫連接_第4頁
第九講 組態王與數據庫連接_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論