在PowerBuilder的應用程序開發過程中
一
設有如下兩張表
A表中的記錄是用戶可以在程序運行期間進行自由增加
也是可以的
二
我們要動態創建B表
動態SQL語句的格式
EXECUTE IMMEDIATE SQL statement [Using Transation Object];
參數說明
SQL statement 包含一條有SQL語句的字符串
Transation Object 事務對象
(
DataWindowControl
參數說明
DataWindowControl 將在其中創建數據窗口對象的數據窗口控件名
Syntax 數據窗口對象源代碼
Errorbuffer 用於保存錯誤信息的字符串
(
三
在PowerBuilder
int li_i=
string ywm[]
//使用游標(Cursor)從數據庫的表中獲取ywm和zdlx的值並存儲於數組ywm[]和zdlx[]中
select count(*) into :li_count from a;
DECLARE a_cur CURSOR FOR SELECT ywm
OPEN a_cur ;
FETCH a_cur INTO :ywm[li_i]
do while sqlca
ls_temp=trim(zdlx[li_i])
choose case ls_temp
case
ls_temp=
case
ls_temp=
end choose
zdlx[li_i]=ls_temp
ywm[li_i]=trim(ywm[li_i])
li_i++
FETCH a_cur INTO :ywm[li_i]
loop
close a_cur;
//創建B表和主鍵(Primary Key)
ls_sql=
+
execute immediate:ls_sql;
//增加B表的列
for li_i=
ls_sql=
execute immediate:ls_sql;
end for
string syntax
//動態創建數據窗口對象DataWindow
ls_b=
sqlselect=
syntax=sqlca
dw_
//漢化標題區(Header Band)文本
DECLARE v_cur CURSOR FOR SELECT ywm
OPEN v_cur ;
FETCH v_cur INTO :ls_col
do while sqlca
ls_name=ls_col
dw_
FETCH v_cur INTO :ls_col
loop
close v_cur;
dw_
dw_
四
利用PowerBuilder的動態數據窗口對象的技術應用
From:http://tw.wingwit.com/Article/program/PB/201311/24646.html