c++连接mysql入门案例

 更新时间:2022年11月11日 10:13:16   作者:BlackCarDriver  
这篇文章主要介绍了c++连接mysql入门案例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

前言

本文介绍c++使用mysql数据库连接的前期准备,以及如何在代码中实现简单的数据库操作。

环境与前期准备

操作系统:windows10

IDE: vs2013

mysql: 本机已安装 mysql 5.5

创建项目:创建一个空项目,本例选择win32 console Application,项目名为:cpp-mysql,.

初始代码:创建main.cpp,内容如下:(注意地址,端口,密码等连接信息自行设置)

    #include<winsock.h>
    #include<stdio.h>
    #include<mysql.h>
    
    using namespace std;
    
    int main(){
    	MYSQL conn;
    	MYSQL_RES *res_set;
    	MYSQL_ROW row;
    
    	mysql_init(&conn);
    
    	if (!mysql_real_connect(&conn, "localhost", "root", "123456", "mysql", 3306, NULL, 0)){
    		fprintf(stderr, "Failed to connect to database: Error: %s\n",
    			mysql_error(&conn));
    	}
    	else{
    		fprintf(stderr, "Successfully connected to Database.\n");
    		int status = mysql_query(&conn, "SELECT * FROM user");
    		res_set = mysql_store_result(&conn);
    		int count = mysql_num_rows(res_set);
    		printf("No of rows = %d\n", count);
    
    		while ((row = mysql_fetch_row(res_set)) != NULL){
    			for (int i = 0; i<mysql_num_fields(res_set); i++){
    				printf("%s \t", row[i] != NULL ? row[i] : "NULL");
    			}
    			printf("\n");
    		}
    	}
    
    	mysql_close(&conn);
    	getchar();
    	return 0;
    }

过程与步骤

为了能够正确引入头文件“mysql.h”,需要在项目属性中进行一系列设置。

1.按alt+f7 或 progres => cpp-mysql properties 今日项目属性设置

2.将mysql 安装目录中的include文件夹目录加入到Additional include directories 中。

(c/c++ => general)

步骤1

3.将mysql 安装目录中的lib文件夹目录加入到additional library directory

(linker => general => additional library directory)

步骤2

4.将libmysql.lib加入到linker=>input=>additional dependencies

步骤3

5.尝试运行(注意需要用release方式运行),若提示以下报错,则将提示缺少的文件从mysql安装目录中复制到项目更目录的release文件夹。

出现以下报错:

报错

解决办法:

解决方法

结果

运行代码,测试连接是否成功。

成功返回的结果

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C++稀疏矩阵的各种基本运算并实现加法乘法

    C++稀疏矩阵的各种基本运算并实现加法乘法

    今天小编就为大家分享一篇关于C++稀疏矩阵的各种基本运算并实现加法乘法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • C++设计模式之外观模式(Facade)

    C++设计模式之外观模式(Facade)

    这篇文章主要为大家详细介绍了C++设计模式之外观模式(Facade),具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • cocos2dx实现橡皮擦效果以及判断是否擦除完毕

    cocos2dx实现橡皮擦效果以及判断是否擦除完毕

    这篇文章主要为大家详细介绍了cocos2dx实现橡皮擦效果以及判断是否擦除完毕,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • C++精要分析decltype的作用及用法

    C++精要分析decltype的作用及用法

    decltype是C++11新增的一个关键字,和auto的功能一样,用来在编译时期进行自动类型推导。引入decltype是因为auto并不适用于所有的自动类型推导场景,在某些特殊情况下auto用起来很不方便,甚至压根无法使用
    2022-05-05
  • 基于C语言实现的TCP服务器的流程分析

    基于C语言实现的TCP服务器的流程分析

    本文详细介绍了如何使用C语言编写一个简单的TCP服务器,包括创建套接字、绑定IP和端口、监听连接请求、接受客户端连接、数据接收与发送以及关闭套接字等步骤,最后通过一个简单的示例展示了TCP服务器的基本实现过程
    2024-10-10
  • C++ Strassen算法代码的实现

    C++ Strassen算法代码的实现

    这篇文章主要介绍了C++ Strassen算法代码的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 复数乘法中的结构体赋值实现代码

    复数乘法中的结构体赋值实现代码

    复数乘法中的结构体赋值实现代码。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-10-10
  • C语言实现简单的<三子棋>案例

    C语言实现简单的<三子棋>案例

    这篇文章主要介绍了C语言实现简单的《三子棋》,本文通过功能区分一步步实现该案例,通过逐步的解析和代码列举,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C语言数据结构实例讲解单链表的实现

    C语言数据结构实例讲解单链表的实现

    单链表是后面要学的双链表以及循环链表的基础,要想继续深入了解数据结构以及C++,我们就要奠定好这块基石!接下来就和我一起学习吧
    2022-03-03
  • QT编写地图实现在线轮廓图的示例代码

    QT编写地图实现在线轮廓图的示例代码

    轮廓图也叫行政区划,这里的轮廓图是指百度地图的区域轮廓图。本文将为大家介绍QT如何实现在线轮廓图的编写,感兴趣的小伙伴可以跟随小编一起学习一下
    2021-12-12

最新评论