当前位置: 代码迷 >> PB >> pb动态SQL如何没有返回值,请大家帮忙看下,
  详细解决方案

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

热度:4   发布时间:2016-04-29 08:33:56.0
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 有没有结果集.
------解决方案--------------------
SQL code
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;
------解决方案--------------------
C/C++ code
将表base中的code字段中间两位为”01”的所有记录读取出来并分别进行相应处理。STRING lsSQL,lsCode,lsName,lsFilterLsFilter=”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;LOOPCLOSE cursor_base;
  相关解决方案