Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104673074
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: DB2/Informix

2008-03-24 21:46:35

  出处:hur.cn   
在informix里,我门要把一个记录里得值全部都读出来,然后在屏幕上把这些记录值给打印出来得话,我门该如何实现呢,那我们就要使用到游标得问题,下面是一段使用游标得简单代码,这是一个ec程序:
#include  
#include  
#include  
#include  
#include  

main() 

    EXEC SQL INCLUDE SQLCA; /*定义通信区*/ 
 
    EXEC SQL BEGIN DECLARE SECTION; /*主变量定义开始*/ 
    char *string1;
    char str1[10];
    char str2[10];
    EXEC SQL END DECLARE SECTION; /*主变量定义结束*/ 
    
    //EXEC SQL DROP DATABASE example;
    EXEC SQL CREATE DATABASE example;
    EXEC SQL DATABASE example; /*连接数据库*/ 
    if (SQLCODE==0) 
    { 
        EXEC SQL CREATE TABLE Student 
        ( alarm char(6) , 
          sname char(10)
        );  
    }
    
    //插入数据
    EXEC SQL INSERT INTO Student valueS("aaaa","bbbb"); 
    EXEC SQL INSERT INTO Student valueS("dddd","dddd"); 
    EXEC SQL INSERT INTO Student valueS("cccc","cccc"); 
    
    //设置游标其中DECLARE是将查询得结果赋予fet_cur
 EXEC SQL DECLARE fet_cur CURSOR FOR
    SELECT alarm, sname FROM Student;
 EXEC SQL OPEN fet_cur;
 
 printf("SQLCODE=%d\n", SQLCODE);

  while(1)
 {
  memset(str1, 0, sizeof(str1));
  memset(str2, 0, sizeof(str2));
  
        //把记录游标fet_cir移到一个新位置,凭且把记录值赋予变量str1和str2
        EXEC SQL FETCH fet_cur INTO :str1,:str2;
     if (SQLCODE !=0)
  {
      printf("LINE=%d, SQLCODE=%d", __LINE__, SQLCODE);
   break;
  }
  //打印记录结果
     printf("str1=%s, str2=%s\n",str1,str2);  
 }
 
 //关闭游标和数据库
 EXEC SQL CLOSE fet_cur;
 EXEC SQL CLOSE DATABASE;
    /*
        EXEC SQL SELECT first 1 alarm,sname 
          INTO :str1,:str2 FROM Student;
        if (SQLCODE !=0)
     {
        printf("LINE=%d, SQLCODE=%d", __LINE__, SQLCODE);
        return(-1);
        }
        printf("str1=%s, str2=%s\n",str1,str2);  
    */
    return(0); 

其结果是在屏幕上打印出从informix里读出得数据:
str1=aaaa     , str2=bbbb
str1=dddd     , str2=dddd
str1=cccc     , str2=cccc
阅读(896) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~