一、头文件
引入informix数据库的头文件时,可使用如下的方式:
EXEC SQL INCLUDE sqlca;
EXEC SQL INCLUDE sqlda;
EXEC SQL INCLUDE sqlhdr;
EXEC SQL INCLUDE decimal;
EXEC SQL INCLUDE locator;
EXEC SQL INCLUDE varchar;
EXEC SQL INCLUDE datetime;
EXEC SQL INCLUDE sqlstype;
EXEC SQL INCLUDE sqltypes;
EXEC SQL INCLUDE sqlstype;
二、宏定义
宏在宿主变量使用时,此宏定义可使用如下方式:
EXEC SQL DEFINE SQL_USRNAME_MAX_LEN 64; /* User name max len */
EXEC SQL DEFINE SQL_PASSWD_MAX_LEN 64; /* Password max len */
EXEC SQL DEFINE SQL_SVRNAME_MAX_LEN 64; /* Database name max len */
EXEC SQL DEFINE SQL_CNNAME_MAX_LEN 64; /* Connect name max len */
EXEC SQL DEFINE SQL_STMT_MAX_LEN 1024; /* SQL statement max len */
三、结构体定义
当SQL语句中使用了结构体变量时,那么此变量的类型结构体必须通过如下方式定义:
EXEC SQL BEGIN DECLARE SECTION;
typedef struct
{
int id;
char name[32];
char gender;
int age;
char brf[256];
}DBStudent_t;
EXEC SQL END DECLARE SECTION;
如:
int db_ifx_update(...)
{
EXEC SQL BEGIN DECLARE SECTION;
DBStudent_t dbstudent;
EXEC SQL END DECLARE SECTION;
...
EXEC SQL UPDATE SET *=(:dbstudent) WHERE id='10001';
}
四、变量定义
宿主变量的必须通过如下方式进行定义:
EXEC SQL BEGIN DECLARE SECTION;
char svrname[SQL_SVRNAME_MAX_LEN], /* Server name */
usrname[SQL_USRNAME_MAX_LEN], /* User name */
passwd[SQL_PASSWD_MAX_LEN], /* Passwd */
cnname[SQL_CNNAME_MAX_LEN]; /* Connect name */
EXEC SQL END DECLARE SECTION;
如:int db_ifx_open(...)
{
EXEC SQL BEGIN DECLARE SECTION;
char svrname[SQL_SVRNAME_MAX_LEN], /* Server name */
usrname[SQL_USRNAME_MAX_LEN], /* User name */
passwd[SQL_PASSWD_MAX_LEN], /* Passwd */
cnname[SQL_CNNAME_MAX_LEN]; /* Connect name */
EXEC SQL END DECLARE SECTION;
...
EXEC SQL CONNECT TO :svrname AS :cnname USER :usrname USING :passwd;
...
}
五、错误信息
每执行一次SQL语句后,错误码存放在全局变量sqlca.sqlcode中,可通过rgetmsg()获取错误信息。如:
int db_ifx_commit(...)
{
EXEC SQL COMMIT WORK;
if(sqlca.sqlcode < 0)
{
rgetmsg(sqlca.sqlcode, errmsg, sizeof(errmsg));
fprintf(stdout, "%s", errmsg);
return -1;
}
...
}
分享到:
相关推荐
c语言和INFORMIX数据库.pdf
学习c语言和INFORMIX数据库.pdf
C语言和INFORMIX数据库(20210926041722).pdf
以前开发总用DBVIS类似的工具 感觉不是很满意 写了一个linux下快速操作数据库的工具 对后台开发者来说 简单的命令 方便的操作 能明显提高工作效率;搞后台开发的人懂滴 呵呵
2.INFORMIX-ESQL/C介绍 3.数据库stores5 4.在INFORMIX-ESQL/C中嵌入SQL语句 5.编译INFORMIX-ESQL/C程序 6.在INFORMIX-ESQL/C中使用简单变量 7.ESQL/C简单插入语句 ....... 23.动态SQL基本知识 24.使用动态描述...
INFORMIX数据库操作及SQL语法 INFORMIX数据库操作及SQL语法.doc
INFORMIX-ESQL/C 开发者手册 英文版
2.4 INFORMIX-ESQL/C 数据库编程语言. 6 第三章 INFORMIX-ONLINE 联机数据库简介. 7 3.1. 预备知识 7 3.2. INFORMIX-ONLINE 数据库的特点. 7 3.3. INFORMIX-ONLINE 数据库系统的组成架构. 8 第四章 结构化查询语言 ...
INFORMIX ESQL/C就是在C语言程序中直接嵌入SQL语句,这样做的目的是使得使用C语言开发应用程序的开发者能方便的访问数据库,开发出满足各种要求的数据库应用程序。那么,它与其它INFORMIX开发工具比较有什么特点呢?...
l Informix的服务器和中间件产品提供的解决方案包括从分布式数据库、客户机/服务器到与主机的连接。Informix提供了两类数据库服务器选择,从而能够调整系统,符合已有的资源和技术储备。 - 快速容错服务器,可以...
informix数据库的配制,这是具体配制informix数据库。
如何解决informix数据库锁表问题.doc
ESQL/c远程连接INFORMIX数据库详解 其中有实例及配置说明
informix 数据库升级 迁移 migration
informix数据库驱动jar包: ifxjdbc.jar ifxjdbcx.jar ifxlang.jar ifxlsupp.jar ifxsqlj.jar ifxtools.jar
INFORMIX-ESQL C.PDF,informix esql的开发手册,工作中用的,是官方的。呵呵,是英文。好好看看吧
INFORMIX-ESQL_C对数据库操作的封装.pdf