預設資料
# 預設資料
在預設資料中,可以對SQL資料與Python資料進行統一管理。

# 1. 建立預設資料
在預設資料
界面中,點選[新增]
按鈕,打開新建視窗,填寫資料編號、資料型別、資料內容等資訊。
# 2. SQL預設資料
# 2.1. 編輯SQL預設資料
在預設資料
編輯視窗中,如果資料型別選擇SQL
,需要選擇資料庫連線名稱,在資料內容中填寫SQL語句。SQL語句支援參數化查詢。例如:
Insert Into Table_Test(FCode,FName) values(:F1,:F2)
1

如果需要檢查SQL編寫是否正確,可點選[SQL校驗]
進行檢查,如果語法正確,則不會彈出錯誤提示。該功能僅支援有返回結果集的SQL語句。
編輯完成後,點選[儲存]
按鈕儲存預設資料。
# 2.2. 使用SQL預設資料
TaskRunner中可以通過以下方式來使用SQL預設資料:
通過WebSocket呼叫呼叫SQL預設資料以執行。
在自定程式、RestAPI 的程式編輯中使用UGMM.GetSQL來實現。比如使用以下方式來獲取引用的SQL語句。
{ var D,DB; DB = UGMM.GetDBConnection("demo"); D = new TFDQuery(nil); D.Connection = DB; try{ D.SQL.Text = UGMM.GetSQL("SQL001"); D.ParamByName("F1").AsString = "001"; D.ParamByName("F2").AsString = "name"; D.ExecSQL; } finally{ D.Free; DB.Free; } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 3. Python預設資料
# 3.1. 編輯Python預設資料
在預設資料
編輯視窗中,如果資料型別選擇Python
,在資料內容中填寫Python語句。
Python語句中支援外部傳入參數,比如定義input
是外部可以使用的傳入參數名稱。則在Python指令碼中,可以使用input.value
來獲取傳入參數的取值。

填寫完成後,點選[儲存]
按鈕。
# 3.2. 使用Python預設資料
TaskRunner中可以通過以下方式來呼叫Python預設資料運行:
- 通過RestAPI呼叫,將Python指令碼加入到任務佇列中,等待運行完成。
- 通過WebSocket呼叫,將Python指令碼加入到任務佇列中,等待運行完成。
- 通過MQTT呼叫,將Python指令碼加入到任務佇列中,等待運行完成。
- 在自定程式的指令碼編輯框中使用UGMM.AddPythonScriptTask,將Python指令碼加入到任務佇列中,等待運行完成。
TaskRunner中,通過UGMM.GetPython獲取Python預設資料中建立的Python指令碼:
//當python語句中出現引用`test.Value`時,觸發此事件 function pvOnGetData(Sender,Data) { Data = "F:\\Program Files (x86)\\IsoFace\\TaskRunner\\File"; } //當python語句中出現給`test.Value`賦值的語句時,觸發此事件 function pvOnSetData(Sender,Data) { UGMM.AddLog("test.Value = "+Data); } { var sl,pv; sl = new TStringList; pv = new TPythonDelphiVar(nil); try{ //從預設資料編號為`dcc_pid_train`的預設資料中獲取Python指令碼內容,其中包含了test的引用 sl.Text = UGMM.GetPython("dcc_pid_train"); //設定運行的python模組名稱,主運行模組名稱通常為__main__ pv.Module = "__main__"; //需要注入至python模組中的變數名稱 pv.VarName = "test"; pv.OnGetData = &pvOnGetData; pv.OnSetData = &pvOnSetData; //使用設定中設定的Python引擎運行上述指令碼 UGMM.PyEngineAndGIL_ExecStrings(sl,'',pv); } finally{ sl.Free; pv.Free; } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32