您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
三六零分类信息网 > 博尔塔拉蒙古分类信息网,免费分类信息发布

SCO下用gcc编译调用mysql数据库的程序_MySQL

2025/9/9 7:38:23发布23次查看
环境: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
#include /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查询*/
{
rintf(mysql_query出错!);
mysql_close(mysql);
exit(0);
}
mysql_res=mysql_store_result(mysql); /*检索一个完整的结果集合给客户*/
rows=mysql_num_rows(mysql_res); /*返回一个结果集合重的列的数量*/
if(rows==0) /*此管理码不存在 返回*/
{
rintf(返回值为空);
mysql_free_result(mysql_res); /*释放一个结果集合使用的内存*/
mysql_close(mysql); /*关闭一个服务器连接*/
exit(0);
}
for(count=0; count
{
mysql_row=mysql_fetch_row(mysql_res); /*从结果集合中取得下一行*/
rintf(社号:%s ,mysql_row[0]);
rintf(组号:%s ,mysql_row[1]);
rintf(组名:%s\n,mysql_row[2]);
}
mysql_free_result(mysql_res);
mysql_close(mysql);
}
3.getfileargv.c文件
#include
int getfileargv(const char * filename,const char * argvname, char * retbuf)
{
file *fp;
char line[128];
char tempbuf[40];
trncpy(tempbuf,argvname,30);
tempbuf[39]=0;
if ((fp=fopen(filename,r))==null)
return -1;
trcat(tempbuf,=);
while(fgets(line,120,fp))
{
if(line[0]=='#')
continue;
if (!strncmp(line,tempbuf,strlen(tempbuf)))
{
fclose(fp);
line[strlen(line)-1]=0;
trcpy(line,(char *)(strchr(line,'=')+1));
trcpy(retbuf,line);
return 0;
}
}
fclose(fp);
return -2;
}
博尔塔拉蒙古分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product