mysql+c语言+API如何访问数据库
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,小编给大家分享一下mysql+c语言+API如何访问数据库,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! #include
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
数据库 查询相同数据
上海ukey服务器端口
oracle数据库目录
服务器数据库备份管理制度
数据库与应用实训报告
我的世界18服务器空岛咋刷东西
数据库NBA球队管理系统
织梦修改数据库路径
医院数据库安全策略
湖南软件开发价格监测中心
贵阳市bim软件开发工程
东营党性体检软件开发
某网站网络安全检查报告
数据库如何判断第几范式
抓好网络安全工作的通知
网络安全法的效力
电脑上怎么上服务器未响应
海南应用软件开发服务商
教育部网络安全周2018
优炫数据库邀请函
中国网络安全从业人员现状
又又网络技术
c 项目怎么读取数据库连接
重庆应用软件开发收费报价表
网络安全和信息系统自查
千峰网络安全教程笔记
软件开发培训费用
shell脚本对数据库表取数
数据库节点什么意思
互联网科技公司发展方向