mysql+c语言+API如何访问数据库
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,小编给大家分享一下mysql+c语言+API如何访问数据库,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! #include
千家信息网最后更新 2025年11月07日mysql+c语言+API如何访问数据库
小编给大家分享一下mysql+c语言+API如何访问数据库,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
#include#include "CMySQL.h"#include "stdio.h"#define MYSQL_PORT 3306void process_result_set(MYSQL mysql, MYSQL_RES *result);void exit(MYSQL mydata,char *ep);int main(int argc, char * argv[]) { MYSQL mydata; Database_Param p; char queryName[600]; MYSQL_RES *result=NULL; int status =0; //初始化 strcpy(p.host,"127.0.0.1"); strcpy(p.user,"root"); strcpy(p.password,"root"); strcpy(p.db,"im"); p.port = MYSQL_PORT; //初始化数据结构 if(mysql_init(&mydata) == NULL) { printf("init mysql data stauct fail\n"); system("pause"); return -1; } //连接 if(argc == 1) { if(NULL == _real_connect(&mydata,p.host,p.user,p.password, p.db,p.port,NULL,CLIENT_MULTI_STATEMENTS)) { printf("connect database fail,%s\n",mysql_error(&mydata)); system("pause"); return -1; } } else { printf("run parameter error\n"); system("pause"); return -1; } //首先设置字符集 strcpy(queryName,"set names gbkd"); if(mysql_query(&mydata,"set names gbk")!=0) { exit(mydata,"set names fail"); return -1; } //查询数据(支持单个字段和多个字段,输出排版) strcpy(queryName,"show databases"); if(mysql_query(&mydata,queryName) != 0) { exit(mydata,"execute sql syntax fail"); return -1; } //取得查询结果 result= mysql_store_result(&mydata); process_result_set(mydata,result); //处理多条插入语句,在mysql_real_connect(......)函数里的最后一个参数更改为:CLIENT_MULTI_STATEMENTS strcpy(queryName,"insert into fangl.admin(username,password) values('fangl1','fangl1'),('fangl2','fangl2'),('fangl3','fangl3');\ insert into fangl.admin(username,password) values('fl1','fl1'),('fl2','fl2'),('fl3','fl3');\ insert into fangl.admin(username,password) values('fal1','fal1'),('fal2','fal2'),('fal3','fal3');\ select * from fangl.admin"); if(mysql_query(&mydata,queryName)!=0) { exit(mydata,"insert values fail"); return -1; } do { /* did current statement return data? */ result = mysql_store_result(&mydata); if (result) { /* yes; process rows and free the result set */ process_result_set(mydata, result); mysql_free_result(result); } else /* no result set or error */ { if (mysql_field_count(&mydata) == 0) { printf("%lld rows affected\n", mysql_affected_rows(&mydata)); } else /* some error occurred */ { printf("Could not retrieve result set\n"); break; } } /* more results? -1 = no, >0 = error, 0 = yes (keep looping) */ if ((status = mysql_next_result(&mydata)) > 0) printf("Could not execute statement\n"); } while (status == 0); //删除表中的数据 strcpy(queryName,"delete from fangl.admin where username='fl1'"); if(mysql_query(&mydata,queryName) != 0) { exit(mydata,"execute sql syntax fail"); return -1; } //查询数据(支持单个字段和多个字段,输出排版) strcpy(queryName,"select * from fangl.admin"); if(mysql_query(&mydata,queryName) != 0) { return -1; } //取得查询结果 result= mysql_store_result(&mydata); process_result_set(mydata,result); //释放结果 if(result != NULL) { mysql_free_result(result); } mysql_close(&mydata); system("pause"); return 1;}void process_result_set(MYSQL mydata, MYSQL_RES *result){ int rowcount = mysql_num_rows(result); //查询结果有多少行 //取得各字段名 MYSQL_FIELD *fields = NULL; for(int i=0;fields=mysql_fetch_field(result);i++) { printf("%s ",fields->name); } printf("\n"); //依次读取各条记录 MYSQL_ROW currow = NULL; while((currow = mysql_fetch_row(result)) != NULL) { for(int i = 0; i < mysql_num_fields(result); ++i) { printf("%s ",currow[i]?currow[i]:"NULL"); } printf("\n"); }}void exit(MYSQL mydata,char *ep){ mysql_close(&mydata); printf("%s,%s\n",ep,mysql_error(&mydata)); system("pause");}
以上是"mysql+c语言+API如何访问数据库"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
数据
字段
查询
结果
篇文章
数据库
语言
内容
单个
多个
支持
输出
不怎么
函数
参数
多条
大部分
字符
字符集
数据结构
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
存在什么网络安全的实训报告
软件开发企业有什么资质证书
软件开发产品经理岗位职责
杀毒软件怎么添加服务器地址
深圳华企互联网科技
飞航安全数据库是什么
tomcat服务器关闭
芯片上的软件开发
软件开发的历史是螺旋上升的
山东大千网络技术招聘
公司文件服务器管理办法
人人美剧软件开发
软件开发能去哪些单位就业
数据库怎么防止注入
vb注册窗口写入数据库
软件开发公司商业模式介绍
vr软件开发和虚拟现实技术
网络安全三条建议
vbk网络技术公司
网络强国 网络安全图片
如何搭建hbase数据库
江苏芯融网络技术研究院咋样
it软件开发维护平台
南京祎晨软件开发有限公司
tomcat服务器关闭
梦幻西游手游再续前缘服务器在哪
mysql数据库设置回滚
服务器强制重启后引导出错
工业互联网东土科技股
广州巡检软件开发价位