数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

在PB中动态修改SQL语句[2]


发布日期:2022年01月18日
 
在PB中动态修改SQL语句[2]
dw_settransobject(sqlca)

sql_string=dw_Describe(DataWindowTableSelect)

// Find the first occurrence of old_str

start_pos = Pos(sql_string old_str start_pos)

// Only enter the loop if you find old_str

DO WHILE start_pos >

// Replace old_str with new_str

sql_string = Replace(sql_string start_pos &

Len(old_str) new_str)

// Find the next occurrence of old_str

start_pos = Pos(sql_string old_str &

start_pos+Len(new_str))

LOOP

sql_new=sql_string+ where …… //增加where字句

//判断setsqlselect 函数调用是否成功 不成功则返回

if (dw_setsqlselect(sql_new)=) then

messagebox(错误不能修改SQL语句!Exclamation!)

return

end if

dw_settransobject(sqlca)

dw_retrieve()

使用SetSQLSelect有一定的要求和限制更改后的SELECT语句在结构上必须与原先的语句匹配在执行SetSQLSelect函数之前必须用SetTrans或SetTransObject函数设置DataWindow控件的内部事务对象另外 DataWindow对象的数据源必须是一个不带参数的SELECT语句如果需要使用检索参数可以在程序代码中修改SQL Select语句

[] []

               

上一篇:Powerbuilder 10.0应用程序发布及动态配置ODBC

下一篇:在PB中动态修改SQL语句[1]