0815-POWER BUILDER-動態DATAWINDOW
假設情況:
使用者希望可以依據選擇的項目,查詢不同的資料內容
EX:
選項目1時,查詢客戶基本資料
選項目2時,查詢商品基本資料
選項目3時,查詢商品銷售資料
解決方案1-將每個項目的DATAWINDOW都產生出來,利用程式判別決定要查詢哪一個DATAWINDOW。
解決方案2-使用動態DATAWINDOW
所謂動態DATAWINDOW是指利用SQL語法,來產生DATAWINDOW的內容,使用語法如下:
Integer li_customerid
String ls_sql,ls_dw_style,ls_syntax,ls_error
li_customerid = trim(sle_1.text)
//項目1時,查詢客戶基本資料
ls_sql ='select name,address,phone from customer '
ls_dw_style = 'style(type=from)
ls_syntax = sqlca.syntaxfromsql(ls_sql,ls_dw_style,ls_error)
IF ls_syntax ='' THEN
MESSAGEBOX('注意','SQL語法錯誤')
RETURN
ELSE
dw_1.create(ls_syntax,ls_error)
dw_1.settransobject(sqlca)
END IF
注意1:
SYNTAXFROMSQL的格式請參考POWER BUILDER官網,網址如下:
http://infocenter.sybase.com/archive/index.jsp?topic=/com.sybase.help.pb_10.5.psref/html/psref/CCJCHAJI.htm
注意2:
DATAWINDOW的STYLE部分,指的就是新增DATAWINDOW時選擇的DATAWINDOW類型,總共有下列這些:
使用者希望可以依據選擇的項目,查詢不同的資料內容
EX:
選項目1時,查詢客戶基本資料
選項目2時,查詢商品基本資料
選項目3時,查詢商品銷售資料
解決方案1-將每個項目的DATAWINDOW都產生出來,利用程式判別決定要查詢哪一個DATAWINDOW。
解決方案2-使用動態DATAWINDOW
所謂動態DATAWINDOW是指利用SQL語法,來產生DATAWINDOW的內容,使用語法如下:
Integer li_customerid
String ls_sql,ls_dw_style,ls_syntax,ls_error
li_customerid = trim(sle_1.text)
//項目1時,查詢客戶基本資料
ls_sql ='select name,address,phone from customer '
ls_dw_style = 'style(type=from)
'ls_syntax = sqlca.syntaxfromsql(ls_sql,ls_dw_style,ls_error)
IF ls_syntax ='' THEN
MESSAGEBOX('注意','SQL語法錯誤')
RETURN
ELSE
dw_1.create(ls_syntax,ls_error)
dw_1.settransobject(sqlca)
END IF
注意1:
SYNTAXFROMSQL的格式請參考POWER BUILDER官網,網址如下:
http://infocenter.sybase.com/archive/index.jsp?topic=/com.sybase.help.pb_10.5.psref/html/psref/CCJCHAJI.htm
注意2:
DATAWINDOW的STYLE部分,指的就是新增DATAWINDOW時選擇的DATAWINDOW類型,總共有下列這些:
- (Default) Tabular
- Grid
- Form (for freeform)
- Graph
- Group
- Label
留言
張貼留言
您好:
歡迎到訪我的Blog,這裡有我的生活經驗、美好的回憶和程式開發經驗分享~
目前努力學習Swift中,希望你會喜歡Swift!
如果可以也請你留言給我一個鼓勵喔!
謝謝