在ODBC API编程中得到结果集行数的方法

      在ODBC编程中,首先用ODBC API中的SQLBindCol来绑定数据集中的某列数据到变量,然后再用SQLFetch来读取数据,每调用一次SQLFetch,结果集指针就向下移动一行,那么,我们要调用多少次SQLFetch才能读完整个结果集呢?在这里就必须得到结果集的行数,具体方法如下:

       微软提供了GetRecordCount这个函数,但直接调用这个函数的话,要么就得到1,要么就得到0。百度了N久,终于让我找到了答案,原来在调用GetRecordCount之前,必须调用一次MoveLast函数,相当于把指针调到结果集的最后,从直观上讲就是让指针遍历一次结果集,这样做虽然达到了目的,但是牺牲了效率。无意之中让我看到了一种更巧妙的方法,具体就不解释了,代码如下:

RETCODE retCode;

retCode=SQLFetch(..);
while(retCode==SQL_SUCCESS)
{         
      //处理数据的代码

      retCode=SQLFetch(..);
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值