informix 的 嵌入 SQL 语句 的 一个 实例

  
 

//*****************************dbconn.ec#include < stdio.h > #include < string .h > #include < stdlib.h >

EXEC SQL incluye "sqlca.h"; EXEC SQL incluye "sqlda.h"; EXEC SQL incluye "decimal.h"; EXEC SQL incluye " sqltypes.h ";

EXEC SQL incluye " sqlhdr.h ";

int disconnectDB () {EXEC SQL WHENEVER SQLERROR GOTO error; EXEC SQL disconnect current; puts (" corriente de desconexión! "); return 0; error: printf (" s% sl% d: error: sqlcode =% d \\ n ", __FILE__, __LINE__, sqlca.sqlcode); return -1;}

int connectDB () {EXEC SQL comienza a declarar la sección; char * dbname; EXEC SQL final declara la sección;

EXEC SQL SIEMPRE SQLERROR GOTO error;

dbname = getenv (" WORKDBS " ); //环境 变量 WORKDBS 数据库 名 , 一般 在 setenv 里 database Base de datos EXEC SQL: dbname; printf (" connect to INFORMIX [% s] acertado! \\ N ", dbname);

return 0; error : printf (" s% sl% d: error: sqlcode =% d \\ n ", __FILE__, __LINE__, sqlca.sqlcode); return -1;}

int selectDB () {EXEC SQL SIEMPRE SQLERROR Error GOTO;

EXEC SQL select * from TEMP_TABLE donde column1 = 'test'; //数据库 里 的 表 查询 printf (" código ==% d \\ n ", sqlca.sqlcode);

return 0;

error: printf (" s% sl% d: error: sqlcode =% d \\ n ", __FILE__, __LINE__, sqlca.sqlcode); return -1;}

//**************** ** test.c

#include < stdio.h > int connectDB (); int disconnectDB (); int selectDB ();

int main () {connectDB (); selectDB ();

disconnectDB (); return 0;}

//*********************** makefile

#include $ {WORKPATH} /src/etc/Make.defines#MIDDYDIR = $ {YQHLDIR} /middleware /middy # ZLIBDIR = $ {YQHLDIR} /middleware/zlib-1.2.3#CFLAGS = -g -w -I $ (MIDDYDIR) /include -I $ (INFORMIXDIR) -I $ (INCLDIR) -I $ (ZLIBDIR) #INFOLIBS = -L $ (INFORMIXDIR) /lib -lifasf -f -lifcss -lthasf \\ # - L $ (INFORMIXDIR) /lib /esql -lifsql -lsql -lsql -lgen -lgls \\ # -lglx -lifgen -lifgls -lifglx -lmli -lmx-lmxa -los -lthgen -lthxa -ltli -lmi-ltl-ltl-ltl -lmli -ltl -ltl -lmli -ltl-ltl-ltl -ltli -lmli -lthl -lthgen -lthxa -ltli -lmi > INFORMIXDIR = /infx64CFLAGS = -g -wINFOLIBS = -L $ (INFORMIXDIR) /lib -lifasf \\ -L $ (INFORMIXDIR) /lib /esql -lifsql -lgen -lgls -lifgen -ltgen -lm

todos: dbconn.o test.occ $ (CFLAGS) test.o dbconn.o -o $ @ $ (INFOLIBS) test.o: test.ccc -c test.cdbconn.o: dbconn .ecesql -c dbconn.ecclean: rm -f * .o all dbconn.c

//************************ ************* 在 AIX 连接 动态 connect libconnect.so 和 libconnect.a

include $ {WORKPATH} /src/etc/Make.definesMIDDYDIR = $ {YQHLDIR} /middleware /middyZLIBDIR = $ {YQHLDIR} /middleware/zlib-1.2.3CFLAGS = -g -w -I $ (MIDDYDIR) /include -I $ (INFORMIXDIR) -I $ (INCLDIR) -I $ ( ZLIBDIR) INFOLIBS = -L $ (INFORMIXDIR) /lib -lifasf -lasf -lifcss -lthasf \\ -L $ (INFORMIXDIR) /lib /esql -lifsql -lqlqll -lifos -lifxa -los -lthgen -lthos -lthxa -ltli -lm

#INFORMIXDIR = /infx64 # CFLAGS = -g -w # INFOLIBS = -L $ (INFORMIXDIR) /lib -lifasf \\ # - L $ (INFORMIXDIR) /lib /esql -lifsql -lgen -lgls -lifgen -lthgen -los -ltli -lm

todos: libdbconn.a test.occ $ (CFLAGS) test.o -o $ @ $ (INFOLIBS) -L./-ldbconn

test.o: cc -c test.clibdbconn.a: libdbconn.soar crv $ @ libdbconn.so

libdbconn.so::dbconn.o/usr/bin/nm -B -BCpg dbconn.o

Copyright © Conocimiento de Windows All Rights Reserved