關(guān)鍵詞:紫金橋軟件,紫金橋監(jiān)控組態(tài)軟件,關(guān)系數(shù)據(jù)庫(kù),SQL語(yǔ)句
許多用戶在使用紫金橋軟件構(gòu)建控制系統(tǒng)的同時(shí)也會(huì)與關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互,在使用關(guān)系庫(kù)的過(guò)程中必然會(huì)用到大量的SQL腳本,而SQL腳本中的where語(yǔ)句常常需要由變量組成,那么如何在腳本中拼接變量成為了許多用戶的難題,本文就講解一下如何在SQL腳本中拼接變量。
首先我們?cè)陉P(guān)系庫(kù)中創(chuàng)建一個(gè)名為People的數(shù)據(jù)表,如下圖:

(關(guān)系庫(kù)為MS2005)
在關(guān)系庫(kù)中創(chuàng)建完數(shù)據(jù)表之后打開(kāi)紫金橋工程,在工程中與關(guān)系庫(kù)建立數(shù)據(jù)鏈路。(注:如何創(chuàng)建關(guān)系庫(kù)鏈路請(qǐng)點(diǎn)擊參看紫金橋組態(tài)軟件和關(guān)系庫(kù)通訊的文檔)
數(shù)據(jù)鏈路創(chuàng)建完成之后,在紫金橋畫面創(chuàng)建‘查詢按鈕’,條件‘文本框’與‘自由報(bào)表’用以顯示數(shù)據(jù)。

以‘姓名’為條件查詢關(guān)系庫(kù)中的內(nèi)容,并且將內(nèi)容放到報(bào)表中。雙擊按鈕在自定義鼠標(biāo)動(dòng)作中寫查詢腳本。

首先定義nSql,Name兩個(gè)字符串臨時(shí)變量,然后將畫面中作為條件的文本框內(nèi)容賦值給Name變量,在把寫好的SQL語(yǔ)句賦值給nSQL變量,最后由自由報(bào)表執(zhí)行這段SQL代碼。

圖中用紅顏色框標(biāo)注的位置歸為一段,兩個(gè)雙引號(hào)相互引用中間的內(nèi)容,用黑色框標(biāo)注的雙引號(hào)相互引用中間的單引號(hào),中間沒(méi)被標(biāo)注的內(nèi)容
為變量部分,寫完腳本之后運(yùn)行軟件看一下效果。

首先我們把所有數(shù)據(jù)都查詢出來(lái),可以看到報(bào)表中顯示了數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)。然后我們?cè)谛彰谋究蛑休斎朊?,表示只查詢字?/span>[Name]等于該條件的內(nèi)容,如下圖

當(dāng)我們?cè)谖谋究蛑袛?shù)據(jù)‘李紅’然后點(diǎn)擊查詢按鈕,此時(shí)查詢出來(lái)的就是名字為‘李紅’的數(shù)據(jù)。
上面我們講的是變量為字符型拼接變量,那么當(dāng)變量為數(shù)據(jù)庫(kù)點(diǎn)的PV值時(shí)該如何寫呢,下面我們就講一下。
首先在點(diǎn)組態(tài)創(chuàng)建A1點(diǎn),然后在畫面中用模擬輸入將該與文本關(guān)聯(lián)起來(lái)。然后打開(kāi)腳本寫下如圖所示腳本。

可以看到腳本內(nèi)容中條件為查詢[Tel]字段等于’A1.PV’,那么這個(gè)A1.PV變量為什么要用IntToStr()函數(shù)呢,因?yàn)?/font>SQL語(yǔ)句是字符串型,上面講的條件變量也是字符串型所以不需要轉(zhuǎn)換,而’A1.PV’為實(shí)型變量所以需要IntToStr()函數(shù)將整數(shù)轉(zhuǎn)換成字符串,否則會(huì)提示數(shù)據(jù)類型錯(cuò)誤的提示。

寫完之后運(yùn)行看一下效果,開(kāi)始運(yùn)行時(shí)依舊把所有數(shù)據(jù)查詢出來(lái)看一下。

然后我們修改A1.PV為141,然后點(diǎn)擊查詢按鈕,這時(shí)查詢出來(lái)的數(shù)據(jù)就是與條件相符的數(shù)據(jù)內(nèi)容了

Delete,Update,Insert等語(yǔ)句在使用過(guò)程中需要拼接變量時(shí)方法和Select語(yǔ)句相同。
希望此篇文章能幫助大家在使用軟件時(shí)取得一些幫助,如果對(duì)該文章哪里不清楚或者有其它問(wèn)題也可以聯(lián)系我們公司技術(shù)人員0459-8151391。