读书人

pb动态SQL如何没有返回值,请大家帮忙看

发布时间: 2012-12-29 10:28:09 作者: rapoo

pb动态SQL怎么没有返回值,请大家帮忙看下,急!
string name,ls_sql,code
dec ld_value
code= "1"

ls_sql= "select sum(a.value) from ttt a"

DECLARE c1 DYNAMIC CURSOR FOR SQLSA;

PREPARE SQLSA FROM :ls_sql;

OPEN DYNAMIC c1 USING :code;

FETCH c1 INTO :ld_value;

If SQLCA.SQLCode=0 then //如果成功取出记录
messagebox('',string(ld_value))
end if

CLOSE c1;


怎么执行后没有返回值,请大家帮忙看看!!!
[解决办法]
怎么发重复贴?

你先检查
select sum(a.value) from ttt a 有没有结果集.
[解决办法]

string ls_sql  
dec ld_value

ls_sql= "select sum(a.value) from ttt a"

DECLARE c1 DYNAMIC CURSOR FOR SQLSA;
PREPARE SQLSA FROM :ls_sql;
FETCH c1 INTO :ld_value;

If SQLCA.SQLCode=0 then //如果成功取出记录
messagebox('',string(ld_value))
end if

CLOSE c1;

[解决办法]
将表base中的code字段中间两位为”01”的所有记录读取出来并分别进行相应处理。
STRING lsSQL,lsCode,lsName,lsFilter
LsFilter=”01”
LsSQL=”SELECT code,name FROM base WHERE substring(code,3,2)=?”
DECLARE cursor_base DYNAMIC CURSOR FOR SQLSA;
PREPARE SQLSA FROM:lsSQL;
OPEN DYNAMIC cursor_base USING:lsFilter;
FETCH cursor_base INTO:lsCode,:lsName;
DO WHILE SQLCA.SQLCODE=0
. ∥对满足条件的记录根据要求分别进行处理
. FETCH cursor_base INTO:lsCode,:lsName;
LOOP
CLOSE cursor_base;

读书人网 >PB

热点推荐