帮个忙

slplp 2003-09-11 05:20:14
1.在c下面写嵌套sql时,主函数里面宿主变量声明时可以是指针型,或数组变量型吗?
如:void main(){
struct sqlda *sqr;
struct sqlda sqr; //sqlda是sql的描述符区
}


2.如下程序
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

//EXEC SQL INCLUDE SQLCA;
EXEC SQL INCLUDE SQLDA;

int main() {
EXEC SQL BEGIN DECLARE SECTION;

char stmt[200];
char firstname[13];
char userid[15];
char password[19];
char lastname[15];
float bonus1;
struct sqlda *sqldaptr; //编译时提示错误:在主变量申明中找到
// 的"*"无效

EXEC SQL END DECLARE SECTION;

sqldaptr=(struct sqlda *) malloc(SQDLDASIZE(n));
sqldaptr->sqln=0;
strcpy(stmt,"SELECT FIRSTNME,LASTNAME,BONUS FROM employee");
strcpy(userid,"administrator");
strcpy(password,"123456");
EXEC SQL CONNECT TO sample USER :userid USING :password;

EXEC SQL PREPARE A INTO :*sqldaptr From:stmt;
if(sqldaptr->sqld==0) {
EXEC SQL EXECUTE A;
return;
}
if(sqldaptr->sqln<sqldaptr->sqld){
sqldaptr = (struct sqlda * )remalloc(SQLDASIZE(sqldaptr->sqld));
sqldaptr->sqln=sqldaptr->sqld;
}
EXEC SQL DESCRIBE A INTO :*sqldaptr;
EXEC SQL DECLARE cur CURSOR FOR A;
EXEC SQL OPEN cur;
while(1){
EXEC SQL FETCH cur Using DESCRIPTOR :*sqldaptr;
}


EXEC SQL CLOSE cur;
EXEC SQL CONNECT RESET;
return 0;
}
...全文
37 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
m505 2003-09-19
  • 打赏
  • 举报
回复
把struct sqlda *sqldaptr放到DECLARE SECTION外...
klbt 2003-09-18
  • 打赏
  • 举报
回复
支持!

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧