一、头文件引入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;
}
...
}
| 【内容导航】 |
| 第1页:ESQL语法知识 | 第2页:接口实现[非查询] |
| 第3页:SQLDA结构 | |
MySQL console整数time以及IP查询相关函数调用Oracle连接远程数据库配置介绍相关资讯 C语言 informix INFORMIX数据库
- 最受欢迎编程语言又是谁?C语言居 (今 08:08)
- C语言背后的运行机制 (03月06日)
- C语言打印各种图形 (12/29/2015 22:06:28)
| - C是2016年最流行语言 (07月28日)
- 轻松学C语言(图解版)高清晰扫描 (02月25日)
- C语言实现文件实时更新 (11/11/2015 14:16:24)
|
本文评论 查看全部评论 (0)