7、窗口的open事件:
string ls_tnam
string ls_cmnt
integer li_i
//定义游标(取表名及注释)
DECLARE get_table CURSOR FOR
SELECT "pbcattbl"."pbt_tnam",
"pbcattbl"."pbt_cmnt"
FROM "pbcattbl" ;
//打开游标
Open get_table;
li_i = 1
Fetch get_table into :ls_tnam, :ls_cmnt;
Do while sqlca.sqlcode = 0
If Not IsNull(ls_cmnt) and ls_cmnt <> '' then
is_table[li_i] = ls_tnam //记录表名
ddlb_table.additem( ls_cmnt)//加载到列表框
li_i ++
End if
Fetch get_table into :ls_tnam, :ls_cmnt;
Loop
//关闭游标
Close get_table;
8、ddlb_table的SelectionChanged事件:
string ls_tnam //表名
string ls_cnam //列名
string ls_cmnt //列注释
integer li_i
is_cur_table = is_table[Index] // 当前表名
//定义游标,取列名及列注释
DECLARE get_column CURSOR FOR
SELECT "pbcatcol"."pbc_cnam",
"pbcatcol"."pbc_cmnt"
FROM "pbcatcol"
where "pbcatcol"."pbc_tnam" = :is_cur_table;
//重置数据窗口
lb_column.reset( )
li_i = 1
Open get_column;
Fetch get_column into :ls_cnam, :ls_cmnt;
Do while sqlca.sqlcode = 0
If not isnull(ls_cmnt) and ls_cmnt <> '' then
is_column[li_i] = ls_cnam //保存列名,创建数据窗口时用
is_colmnt[li_i] = ls_cmnt //保存列注释,创建数据窗口汉化标题
lb_column.additem(ls_cmnt ) //加载到列表框
li_i ++
End if
Fetch get_column into :ls_cnam, :ls_cmnt;
Loop
Close get_column;