《組態(tài)王與數(shù)據(jù)庫的鏈接》由會(huì)員分享,可在線閱讀,更多相關(guān)《組態(tài)王與數(shù)據(jù)庫的鏈接(13頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,舉例:,Access,數(shù)據(jù)庫(通過,ODBC,訪問接口)實(shí)現(xiàn)與組態(tài)王變量之間的聯(lián)系。,ODBC,(,Open Database Connectivity,,開放式數(shù)據(jù)庫連接標(biāo)準(zhǔn))是微軟公司為其視窗操作系統(tǒng)推出的一套訪問各種數(shù)據(jù)庫的統(tǒng)一接口技術(shù)。,ODBC,類似一種軟件驅(qū)動(dòng)程序,提供了應(yīng)用軟件與數(shù)據(jù)庫之間的訪問標(biāo)準(zhǔn)。,第十講 數(shù)據(jù)庫查詢,組態(tài)王,SQL,訪問管理器用來建立數(shù)據(jù)庫列和組態(tài)王變量之間的聯(lián)系。通過表格模板在數(shù)據(jù)庫中創(chuàng)建表格;通過記錄體建立數(shù)據(jù)庫表格列和組態(tài)王之間的聯(lián)系,允許組態(tài)王通過記錄體直接操縱數(shù)
2、據(jù)庫中的數(shù)據(jù)。,1,、創(chuàng)建數(shù)據(jù)源及數(shù)據(jù)庫,外建一個(gè),Access,數(shù)據(jù)庫,(路徑:,d:,,數(shù)據(jù)庫名為:,mydb.mdb,);,用,Windows,控制面板中自帶的,ODBC Data Sources(32bit),管理工具新建一個(gè),Microsoft Access Driver(*.,mdb,),驅(qū)動(dòng)的數(shù)據(jù)源,名為:,mine,。,雙擊“數(shù)據(jù)源,(ODBC)”,“,系統(tǒng),DSN”,“,增加”,“,Microsoft Access Driver,(*,.,mdb,)”驅(qū)動(dòng)程序“,完成”。,輸入數(shù)據(jù)源名稱:,mine,選擇數(shù)據(jù)庫,2,、創(chuàng)建表格模板,選擇“,SQL,訪問管理器”中的“表格模板”
3、選項(xiàng),如圖所示:,索引功能是數(shù)據(jù)庫用于加速字段中搜索及排序的速度,但可能會(huì)使更新變慢。選擇“是(唯一)”可以禁止該字段中出現(xiàn)重復(fù)值;,選中該項(xiàng),將在前面的方框中出現(xiàn)“”標(biāo)志,表示數(shù)據(jù)記錄到數(shù)據(jù)庫的表格中該字段可以有空值。不選中該項(xiàng)則表示該字段的數(shù)據(jù)不能為空值;,3,、創(chuàng)建記錄體,選擇“,SQL,訪問管理器”中的“記錄體”選項(xiàng),如圖所示:,記錄體中定義了,Access,數(shù)據(jù)庫表格字段與組態(tài)王變量之間的對(duì)應(yīng)關(guān)系,對(duì)應(yīng)關(guān)系如下:,注:,記錄體中的字段名稱必須與表格模板中的字段名稱保持一致,,記錄體中字段對(duì)應(yīng)的變量數(shù)據(jù)類型必須和表格模板中相同字段對(duì)應(yīng)的數(shù)據(jù)類型相同。,4,、對(duì)數(shù)據(jù)庫的操作,1,)連接數(shù)
4、據(jù)庫,在工程瀏覽器窗口的數(shù)據(jù)詞典中定義一個(gè)內(nèi)存整型變量:,DeviceID,新建一畫面,名稱為:數(shù)據(jù)庫操作畫面。,在畫面上輸入文字:數(shù)據(jù)庫操作。,在畫面中添加一按鈕,按鈕文本為:數(shù)據(jù)庫連接。,在按鈕的彈起事件中輸入如下命令語言:,SQLConnect,(,DeviceID,dsn,=mine2;uid=;,pwd,=);,上述命令語言的作用是使組態(tài)王與,mine2,數(shù)據(jù)源建立了連接(即與,mydb2.mdb,數(shù)據(jù)庫建立了連接)。,SQLConnect,連接組態(tài)王和數(shù)據(jù)庫。,語法:,SQLConnect(DeviceID,dsn,=;,uid,=;,pwd,=);,2,)創(chuàng)建數(shù)據(jù)庫表格,SQLC
5、reateTable,(,DeviceID,KingTable,table1);,SQLCreateTable,以表格模板中定義的表格類型,在數(shù)據(jù)庫中創(chuàng)建新表。,語法,:,SQLCreateTable(DeviceID,TableName,TemplateName,);,DeviceID,:,SQLConnct,(),產(chǎn)生的連接號(hào);,TableName,:想要?jiǎng)?chuàng)建的數(shù)據(jù)庫名;,TemplateName,:表格模板名。,3,)插入記錄,SQLInsert,(,DeviceID,KingTable,Bind1 );,SQLInsert,在表格中插入一個(gè)新的記錄。,語法:,ResultCode,=,
6、SQLInsert(DeviceID,TableName,BindList,);,參數(shù)描述,DeviceID,:,SQLConnct,(),產(chǎn)生的連接號(hào),TableName,:表格名,BindList,:記錄體,5,)查詢記錄,用戶如果需要將數(shù)據(jù)庫中的數(shù)據(jù)調(diào)入組態(tài)王來顯示,需要另外建立一個(gè)記錄體,此記錄體的字段名稱要和數(shù)據(jù)庫表格中的字段名稱一致,連接的變量與數(shù)據(jù)庫中字段的類型一致,操作過程如下:,在工程瀏覽器窗口的數(shù)據(jù)詞典中定義三個(gè)內(nèi)存變量:,a,、變量名:記錄日期,變量類型:內(nèi)存字符串,初始值:空,b,、變量名:記錄時(shí)間,變量類型:內(nèi)存字符串,初始值:空,c,、變量名:原料油液位返回值,變量
7、類型:內(nèi)存實(shí)型,初始值:,0,在畫面上添加三個(gè)文本框,在文本框的“字符串輸出”、“模擬量值輸出”動(dòng)畫中分別連接變量,本站點(diǎn),記錄日期、,本站點(diǎn),記錄時(shí)間、,本站點(diǎn),原料油液位返回值,用來顯示查詢出來的結(jié)果。,在工程瀏覽窗口中定義一個(gè)記錄體,Bind2,,記錄體窗口屬性設(shè)置如圖:,在按鈕的彈起事件中輸入如下命令語言,SQLSelect,(,DeviceID,KingTable,Bind2,);,SQLSelect,:訪問數(shù)據(jù)庫。,語法:,SQLSelect(DeviceID,TableName,BindList,hereExpr,OrderByExpr,),參數(shù)描述,TableName,:,表格名稱,BindList,:,記錄體,WhereExpr,:指定函數(shù)起作用行的條件,例選擇“年齡”列中在,20,和,30,之間的行:年齡,=20 and,年齡,30,OrderByExpr,:,定義排序的列和方向。,例如:“溫度,ASC”,以“溫度”列的升序排序,第一條記錄:,SQLFirst,(,DeviceID,);,下一條記錄:,SQLNext,(,DeviceID,);,上一條記錄:,SQLPrev,(,DeviceID,);,最后一條記錄:,SQLLast,(,DeviceID,);,斷開數(shù)據(jù)庫,:,SQLDisconnect,(,DeviceID,),。,