我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql+c语言+API如何访问数据库

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql+c语言+API如何访问数据库

小编给大家分享一下mysql+c语言+API如何访问数据库,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

 
#include <winsock2.h>
#include "CMySQL.h"
#include "stdio.h"
#define MYSQL_PORT 3306
void 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 {
  
  result = mysql_store_result(&mydata);
  if (result)
  {
   
   process_result_set(mydata, result);
   mysql_free_result(result);
  }
  else          
  {
   if (mysql_field_count(&mydata) == 0)
   {
    printf("%lld rows affected\n",
     mysql_affected_rows(&mydata));
   }
   else  
   {
    printf("Could not retrieve result set\n");
    break;
   }
  }
  
  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如何访问数据库”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql+c语言+API如何访问数据库

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

c++怎么访问mysql数据库

在C++中访问MySQL数据库通常需要使用MySQL官方提供的MySQL C API。以下是一些基本步骤来访问MySQL数据库:安装MySQL C API库:首先要确保你的系统中已经安装了MySQL C API库,你可以从MySQL官方网站
c++怎么访问mysql数据库
2024-04-18

c#怎么访问mysql数据库

要访问MySQL数据库,可以使用MySQL官方提供的MySQL Connector/Net库。以下是使用C#连接MySQL数据库的一般步骤:在Visual Studio中创建一个新的C#控制台应用程序项目。在项目中右键单击“引用”并选择“
c#怎么访问mysql数据库
2024-04-18

Shell、Perl、Python、PHP如何访问MySQL数据库

这篇文章主要为大家展示了“Shell、Perl、Python、PHP如何访问MySQL数据库”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Shell、Perl、Python、PHP如何访问MyS
2023-06-09

如何访问阿里云的MySQL数据库

在阿里云上使用MySQL数据库,可以极大地提高工作效率。然而,如何访问阿里云的MySQL数据库呢?本文将详细介绍访问阿里云MySQL数据库的步骤和方法。一、准备工作在访问阿里云的MySQL数据库之前,我们需要完成一些准备工作。首先,需要创建一个阿里云账号,并开通一个MySQL数据库实例。然后,需要在阿里云控制台中
如何访问阿里云的MySQL数据库
2023-11-15

C# 中怎么利用ODBC访问MySQL数据库

C# 中怎么利用ODBC访问MySQL数据库,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.安装Microsoft ODBC.net:我安装的是mysql-c
2023-06-17

如何远程访问阿里云mysql数据库

简介在现代互联网应用中,数据的安全和可靠存储变得越来越重要。阿里云MySQL是一种稳定可靠的数据库解决方案,可以满足各种规模的企业和个人需求。然而,对于那些不在本地服务器上的用户来说,如何远程访问阿里云MySQL数据库是一个常见的问题。本文将介绍如何通过SSH隧道和MySQL客户端连接到阿里云MySQL数据库。远程访问
如何远程访问阿里云mysql数据库
2024-01-21

如何处理MySQL数据库的并发访问?

如何处理MySQL数据库的并发访问?随着互联网的迅猛发展,我们生活中的各种服务和应用都变得越来越依赖数据库。而数据库的并发访问是一种常见场景,特别是在高并发访问的情况下,对数据库进行合理的并发控制是非常重要的。本文将介绍一些处理MySQL数
2023-10-22

在Go语言中如何处理并发数据访问问题?

在Go语言中,处理并发数据访问问题是一项非常重要的任务。由于Go语言的并发编程模型特性,我们可以很方便地实现并发读写操作。下面将介绍一些常见的处理并发数据访问问题的方法,并给出具体的代码示例。互斥锁(Mutex)互斥锁是Go语言中最常用的处
2023-10-22

C#如何实现数据访问XML

这篇文章给大家分享的是有关C#如何实现数据访问XML的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在举C#数据访问XML的例子之前,首先介绍一些知识和定义。XML DOM的类所在的命名空间为System.Xml中
2023-06-17

C++如何mysql数据库

本篇文章为大家展示了C++如何mysql数据库,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。(一)通过ADO连接MySql数据库1、通过ADO连接MySql数据库,首先得安装MyODBC服务器程序。
2023-06-17

JDBC如何访问MySQL数据库,并增删查改

导入驱动包,加载具体的驱动类 导包:新建一个Java Project文件,在此文件夹下新建Folder文件命名lib(此文件夹下放一些导入的包)将mysql-connector-java-xxxx.jar拖进来,右键Build Path→A
2022-05-21

VB.NET如何访问数据库原理

这篇文章主要介绍VB.NET如何访问数据库原理,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!VB.NET访问数据库接口功能及含义: ADC:高级数据连接器(AdvancedDataConnector):提供绑定ADO
2023-06-17

编程热搜

目录