nsgi 发表于 2009-12-25 09:06

unix下cc编译ec程序的问题,急!!!

我第一次写ec程序,写了一个最简单的,先预编译成c,是调用informix 数据库的,再用cc编译,加了I参数,头文件目录是/usr/informix/incl/esql,但是还是提示:_iqdbase、_iqslct等几个变量没定义,但其实在sqlhdr.h里都有,后来我把sqlhdr.h都弄进c程序里去了,还是说没定义,请教各位了,非常谢谢

liqxy 发表于 2009-12-25 09:21

你应该把你的程序贴出来。

nsgi 发表于 2009-12-25 10:47

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

EXEC SQL INCLUDE sqlca;

main()
{
    EXEC   SQL      BEGIN   DECLARE   SECTION;
    char   dgkhmc;
    EXEC   SQL   END   DECLARE   SECTION;
    EXEC   SQL   DATABASEzwk;
       memset(dgkhmc, '\0', sizeof(dgkhmc));
       EXEC SQL SELECT khmc INTO :dgkhmc
       FROM hqdgzwj
       WHERE zhdh = "676010174300000308";
       if (SQLCODE)
         {
            printf ("fail to select\n");
            return (-1);
         }
       printf("\n开户名称 :\n");
    EXEC   SQL   CLOSE   DATABASE;
return0;
}

rrwater 发表于 2009-12-26 09:45

用esql命令编译,这样最省事了。估计楼主你没有怎么看informx sdk或esql的手册。
另外,楼主的程序虽然简单,但在return -1前,最好加一句:EXEC SQL CLOSE DATABASE
页: [1]
查看完整版本: unix下cc编译ec程序的问题,急!!!