求救:关于使用SQLDA出现MEMORY FAULT(COREDUMP)问题
这是《INFORMIX ESQL/C应用开发》书的一个例子,编写后出现了上述问题,主要部分的代码如下:#INCLUDE "stdio.h"
$include sqlca.h;
$include sqlstype.h;
main()
{
exec sql begin declare section;
char fn[]="aaaa";
char ln[]="bbbb";
exec sql end declare section;
1struct sqlda *descp;
2$database stores_demo;
3$prepare updateSta from "update customer set fname=?,lname=? where costomer_num=102";
4$describe updateSta into descp;
5$int count=2;
6descp->sqlvar=(struct sqlvar_struct *)calloc(count,sizeof(struct sqlvar_struct));
7descp->sqld=count;
8desc[->sqlvar.sqldata=fn;
9descp->sqlvar.sqltype=0;
10 descp->sqlvar.sqllen=20;
11 desc[->sqlvar.sqldata=ln;
12 descp->sqlvar.sqltype=0;
13 descp->sqlvar.sqllen=20;
14 $execute updateSta using descriptor descp;
15 $close database
}
以上程序esql可以通过,运行时候出现了memory fault问题。
检查发现主要是第6行为sqlvar分配内存时存在问题,大家帮忙分析一下怎么回事啊
刚接触esql/c,不是很熟悉,谢谢大家了! 没有人可以帮忙吗???是太简单了还是???? #include <stdlib.h>
exec sql include sqlda.h;
回复 #3 ivhb 的帖子
非常感谢!!!!!!
页:
[1]