743
社区成员




string ls_sql
string ls_syn,ls_err
ls_sql = " SELECT aa,bb cc FROM tab_1 WHERE aa='01' " //这里的字符串可以动态构造
//生成数据窗口语法
ls_syn = SQLCA.SyntaxFromSQL(ls_sql,'Style(Type=Grid),ls_err)
if len(ls_err)>0 then
MessageBox("提示","生成语法失败")
return
end if
dw_1.Create(ls_syn,ls_err)
if len(ls_err)>0 then
MessageBox("提示","创建数据窗口失败")
return
else
dw_1.SetTransObject(SQLCA)
dw_1.Retrieve()
commit;
//检索数据完成,可以进行操作
...
end if
datastore lds
string ls_sql
string error_syntaxfromSQL, error_create
string ls_syntax
long i
ls_sql = "select col1, col2 from t_table where je > 0"
lds = create datastore
ls_syntax = sqlca.SyntaxFromSQL(ls_sql, 'Style(Type=Grid)', error_syntaxfromSQL)
IF Len(error_syntaxfromSQL) > 0 THEN
messagebox("",'生成数据存储语法发生错误!~r~n错误原因:' + error_syntaxfromSQL)
destroy lds
return -1
ELSE
lds.Create(ls_syntax, error_create)
IF Len(error_create) > 0 THEN
f_message( '建立数据存储时发生错误!~r~n错误原因:' + error_create)
destroy lds
return -1
END IF
END IF
//此时lds中存储的就是通过ls_sql获得的数据,可能是1行也可能是多行,行数对应lds.rowcount()
//
for i = 1 to lds.rowcount()
//第i行的col1的值
lds.object.col1[i]
//第i行的col2的值
lds.object.col2[i]
next
destroy lds