Chinaunix首页 | 论坛 | 博客
  • 博客访问: 473323
  • 博文数量: 65
  • 博客积分: 2645
  • 博客等级: 少校
  • 技术积分: 675
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-08 17:04
文章分类

全部博文(65)

文章存档

2010年(5)

2009年(5)

2008年(14)

2007年(35)

2006年(6)

分类: Oracle

2009-03-30 14:02:01

例子如下:

#define MAX_ROWCOUNT 1000

EXEC SQL BEGIN DECLARE SECTION;
    int iMaxRowCount = MAX_ROWCOUNT;
    char name_list [MAX_ROWCOUNT +1][NAME_LEN +1]="\0";
    char vv_name [NAME_LEN +1]="\0";
EXEC SQL END DECLARE SECTION;

memset(name_list, 0, sizeof(name_list));

EXEC SQL
  select name into :name_list from tab_student where rownum < :iMaxRowCount;
// 判斷sql是否執行成功


...

//sqlerrd[2] - Numbers of rows processed by the most recent SQL statement.
for(int i = 0; i < sqlca.sqlerrd[2]; i++)
{
    memset(vv_name);
    snprintf(vv_name, sizeof(vv_name), "%s", name_list);
    rtrim(vv_name); //刪除末尾空格

    do_something(vv_name);
};



(Over)
阅读(1480) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~