關鍵詞:紫金橋軟件,紫金橋監控組態軟件,關系數據庫,SQL語句
許多用戶在使用紫金橋軟件構建控制系統的同時也會與關系型數據庫進行數據交互,在使用關系庫的過程中必然會用到大量的SQL腳本,而SQL腳本中的where語句常常需要由變量組成,那么如何在腳本中拼接變量成為了許多用戶的難題,本文就講解一下如何在SQL腳本中拼接變量。
首先我們在關系庫中創建一個名為People的數據表,如下圖:

(關系庫為MS2005)
在關系庫中創建完數據表之后打開紫金橋工程,在工程中與關系庫建立數據鏈路。(注:如何創建關系庫鏈路請點擊參看紫金橋組態軟件和關系庫通訊的文檔)
數據鏈路創建完成之后,在紫金橋畫面創建‘查詢按鈕’,條件‘文本框’與‘自由報表’用以顯示數據。

以‘姓名’為條件查詢關系庫中的內容,并且將內容放到報表中。雙擊按鈕在自定義鼠標動作中寫查詢腳本。

首先定義nSql,Name兩個字符串臨時變量,然后將畫面中作為條件的文本框內容賦值給Name變量,在把寫好的SQL語句賦值給nSQL變量,最后由自由報表執行這段SQL代碼。

圖中用紅顏色框標注的位置歸為一段,兩個雙引號相互引用中間的內容,用黑色框標注的雙引號相互引用中間的單引號,中間沒被標注的內容
為變量部分,寫完腳本之后運行軟件看一下效果。

首先我們把所有數據都查詢出來,可以看到報表中顯示了數據庫中的所有數據。然后我們在姓名文本框中輸入名字,表示只查詢字段[Name]等于該條件的內容,如下圖

當我們在文本框中數據‘李紅’然后點擊查詢按鈕,此時查詢出來的就是名字為‘李紅’的數據。
上面我們講的是變量為字符型拼接變量,那么當變量為數據庫點的PV值時該如何寫呢,下面我們就講一下。
首先在點組態創建A1點,然后在畫面中用模擬輸入將該與文本關聯起來。然后打開腳本寫下如圖所示腳本。

可以看到腳本內容中條件為查詢[Tel]字段等于’A1.PV’,那么這個A1.PV變量為什么要用IntToStr()函數呢,因為SQL語句是字符串型,上面講的條件變量也是字符串型所以不需要轉換,而’A1.PV’為實型變量所以需要IntToStr()函數將整數轉換成字符串,否則會提示數據類型錯誤的提示。

寫完之后運行看一下效果,開始運行時依舊把所有數據查詢出來看一下。

然后我們修改A1.PV為141,然后點擊查詢按鈕,這時查詢出來的數據就是與條件相符的數據內容了

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