proc的游标操作

来源:互联网 发布:数码宝贝网络侦探推荐 编辑:程序博客网 时间:2024/04/29 13:06

/*

 *功能:proc的游标操作

 *源文件:cursor.pc

 */

 

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>

EXEC SQL INCLUDE SQLCA;
/*#define SQLCA_NONE
  static struct sqlca sqlca;
*/

int  main()
{
    EXEC SQL BEGIN DECLARE SECTION;
        int id;
        char name[41];
        char connString[] = "delp/delp@81db";
        char sql[] = "select collect_id, collect_name from fm_collect_tasks";
    EXEC SQL END DECLARE SECTION;

    EXEC SQL CONNECT :connString;
    if(sqlca.sqlcode != 0)
    {
    perror("Connect database error!");
    exit(1);
    }

    EXEC SQL PREPARE S_DEVICE from :sql;
    EXEC SQL DECLARE C_DEVICE CURSOR FOR S_DEVICE;
    EXEC SQL OPEN C_DEVICE;
    EXEC SQL WHENEVER NOTFOUND DO break;

    while(true)
    {
        EXEC SQL FETCH C_DEVICE INTO
          :id,
          :name;
        printf("collect_id=%d, collect_name=%s/n", id, name);
    }

    EXEC SQL CLOSE C_DEVICE;
    EXEC SQL WHENEVER NOTFOUND continue;

    //关闭数据库链接
    EXEC SQL COMMIT WORK RELEASE;

    return 0;

}