保存动态SQL的执行结果

sprintf(sqlstr,"select count(*) into :tmpRecord from %s where acno='%s' and trdt between %s and %s;",tabname,sAcno,sBeginDate,sEndDate);

如上述代码,若要保存tmpRecord 是不能实现的,解决办法:

    定义动态SQL语句:

sprintf(sqlstr,"select count(*)  from %s where acno='%s' and trdt between %s and %s;",tabname,sAcno,sBeginDate,sEndDate);
 

    动态定义游标,并查询记录集,若为单条数据,fetch一次即可。

EXEC SQL PREPARE viewsql from :sqlstr;
EXEC SQL declare cur_count1 CURSOR FOR viewsql;
EXEC SQL OPEN cur_count1;
while(1)
{
    EXEC SQL fetch cur_count1 into:tmpRecord;
    if ( SQLCODE == SQLNOTFOUND )
        break;
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值