【IT168 服务器学院】环境:SCO OpenServer 5.0.6, mysql 3.23.42,gcc 2.95.2
备注:gcc已集成了支持mysql的函数,可以在C源代码中直接调用数据库,不用像informix那样要用ESQL/C嵌入调用.
1.makefile文件
CC=gcc
LIB=-lcurses -lsocket -lmysqlclient -lm -lc -lnsl
all:gspser
gspser:get_data.o getfileargv.o
$(CC) -o gj get_data.o getfileargv.o $(LIB)
get_data.o:get_data.c
$(CC) -c get_data.c
getfileargv.o:getfileargv.c
$(CC) -c getfileargv.c
clean:
rm -f *.o
2.get_data.c文件
#include <stdio.h>
#include </usr/local/mysql/include/mysql.h>
#define DBCFG "./gsp.conf"
main()
{
char dbhost[32],dbuser[16],dbpasswd[16],db[16];
char query[256];
int count;
MYSQL * mysql; /*表示对一个数据库连接的句柄*/
MYSQL_RES *mysql_res; /*代表返回行的一个查询的结果*/
MYSQL_ROW mysql_row; /*字符串数组*/
my_ulonglong rows;
/*该类型用于行编号和mysql_affected_rows()、mysql_num_rows()和mysql_insert_id()
*/
getfileargv(DBCFG,"DBHOST",dbhost); /*从文件中读取gsp.conf*/
getfileargv(DBCFG,"DBUSER",dbuser);
getfileargv(DBCFG,"DBPASSWD",dbpasswd);
getfileargv(DBCFG,"DATABASE",db);
if(!(mysql=mysql_init(NULL))) /*获得或初始化一个MYSQL结构*/
{
rintf("mysql_init失败!");
mysql_close(mysql);
exit(0);
}
if(!mysql_real_connect(mysql,dbhost,dbuser,dbpasswd,db,0,NULL,0))
{ /*连接一个MySQL服务器*/
rintf("连接服务器失败,请联系系统管理人员!");
mysql_close(mysql);
exit(0);
}
trcpy(query,"select * from zuh where jgm=\"11110501\" order by zuh");
if(mysql_query(mysql,query)) /*执行指定为一个空结尾的字符串的SQL查询*/
{
SCO下用gcc编译调用mysql数据库的程序
0
相关文章