PRO*C 使用滚动游标


该文档拷贝与:http://blog.sina.com.cn/s/blog_7e3016270100yh67.html


该文档仅仅为了用于保存,留于以后查看,如有侵权,敬请谅解!!


1.使用非滚动游标

EXECSQL PREPARE SQL_STATEMENT FROM:statement;

CheckSqlError("PREPARESQL_STATEMENT");

EXECSQL DECLARE SQL_CURSOR CURSOR FORSQL_STATEMENT;

CheckSqlError("DECLARESQL_CURSOR");

EXECSQL OPEN SQL_CURSOR;

CheckSqlError("EXECUTE");

while(1){

   EXEC SQL FETCH SQL_CURSORINTO :temp.days;

   if(sqlca.sqlcode){

       break;

   }

   printf("%d\n",temp.days);

}

EXECSQL CLOSE SQL_CURSOR;

过程

定义sql语句

定义游标

打开游标

提取数据

关闭游标

 

2.使用滚动游标

 

char action;

credit_temp temp;

statement = "select days fromcredit_temp";

EXEC SQL PREPARE SQL_STATEMENT FROM:statement;

CheckSqlError("PREPARESQL_STATEMENT");

EXEC SQL DECLARESQL_CURSOR SCROLL CURSOR FOR SQL_STATEMENT;

CheckSqlError("DECLARESQL_CURSOR");

EXEC SQL OPEN SQL_CURSOR;

CheckSqlError("EXECUTE");

while(1){

   scanf("%c",&action);

   switch(action){

       case 'n' :

       EXEC SQLFETCH NEXT SQL_CURSOR INTO:temp.days;

       case 'P' :

       EXEC SQLFETCH PRIOR SQL_CURSOR INTO:temp.days;

       case 'f' :

       EXEC SQLFETCH FIRST SQL_CURSOR INTO:temp.days;

       case 'l' :

       EXEC SQLFETCH LAST SQL_CURSOR INTO:temp.days;

       CASE 'c' :

       EXEC SQLFETCH CURRENT SQL_CURSOR INTO:temp.days;

       CASE 'x' :

       break;

   }

}

EXEC SQL CLOSE SQL_CURSOR;


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值