VS2019连接MYSQL8.0数据库(教程)

我的数据库是8.0版本

首先打开vs2019,打开自己的项目,

然后右键点击 自己的项目,然后点击属性

 

 

 在属性页找到包含目录和库目录,接下来我们要分别添加他们所需要的文件

注意!! 不要关闭vs2019,缩小化即可

         找到本机的mysql的安装目录,如果是默认目录应该在:C:\Program Files\MySQL\MySQL Server 8.0这个目录下

        进入该目录

 

 

进入include目录,因为里面有我们需要的头文件等信息

 

        复制该目录的路径 ,然后打开vs2019刚才的属性页面

 

点击包含目录后边的箭头,然后点击编辑 

然后把复制的目录路径添加到这里,然后点击确定

 

使用相同的方法把 mysql目录下的lib目录路径页复制下来,这里边都是我们所需要的静态库和动态库,

 

 

注意添加路径时,包含目录 和 库目录一定要分清,别弄混了

 

 

接下载引入依赖库

 

输入libmysql.lib,这个文件在 mysql安装目录下的 lib 目录下,就是刚刚我们引入的那个库目录,这里要手动输入

注意!!!!!千万别把后缀名打成 .dll了,这个是动态库的,我们要引入静态库后缀名是.lib

 

 

还有最重要的一步,引入 动态库 .dll

如果不引入动态库,运行的时候就会提示找不到 libmysql.dll库 

把libmysql.dll  这个文件 复制 到 C:\Windows\System32 目录下

注意!!!! 这次是 .dll 文件 可别复制了  .lib 文件了

接下来就该用代码连接MYSQL数据库了,就让我们开始吧,为了方便演示,我就都写到main里了,实战中大家一定要遵循封装性!!!

#include <iostream>
#include <string>
#include <mysql.h>

using namespace std;

int main(void)
{
	MYSQL mysql;	//定义mysql对象
	MYSQL_RES* res;  //查询结果集
	MYSQL_ROW row;	//从结果集读取数据,拆分成行数
	char sql[256];	//定义一个存放sql语句的数组
	
	string username;	//用户名
	string password;	//密码

			cout << "请输入用户名:" << endl;
			cin >> username;
			cout << "请输入密码:" << endl;
			cin >> password;


	mysql_init(&mysql);	//初始化数据库

	mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk");	//我这里修改了一下字符集,设置gbk编码

	//最后边两个参数用不到,就置为NULL,和 0;
	
	
	//mysql_error(MYSQL* mysql); 这个函数是mysql自己封装好的api接口,我们直接使用即可,用来打印错误信息的;
	// 
	// 
	//mysql_real_connect(&mysql,"127.0.0.1",数据库账户,数据库密码,要连接的数据库,端口号一般为3306,NULL,0)
	if (mysql_real_connect(&mysql) == NULL) {
		printf("数据库连接出错 , 错误原因: %s\n", mysql_error(&mysql));
		exit(-1);
	}


	//snprintf是格式化输出字符串 带长度类型的函数
	snprintf(sql, sizeof(sql), "select *  from userinfo where username='%s' and password=md5('%s');", username.c_str(), password.c_str());

	if (mysql_query(&mysql, sql)) {//执行sql语句,成功返回0;
		printf("数据库查询出错,%s 错误原因: %s\n", sql, mysql_error(&mysql));
		mysql_close(&mysql);

	}

	res = mysql_store_result(&mysql);

	row = mysql_fetch_row(res);

	if (row == NULL) {//没有查找到记录
		mysql_free_result(res);	//释放资源
		mysql_close(&mysql);	//关闭数据库
		return false;
	}


	cout << row[0]<<endl;
	cout << row[1]<<endl;
	cout << row[2]<<endl;


	return 0;
}

 

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在VS2019连接MySQL 8.数据库,您需要遵循以下步骤: 1. 安装MySQL Connector/C++:在连接MySQL数据库之前,您需要安装MySQL Connector/C++。您可以从MySQL官方网站下载并安装最新版本的MySQL Connector/C++。 2. 创建一个新的C++项目:在VS2019中,创建一个新的C++项目。 3. 添加MySQL Connector/C++库:在项目属性中,添加MySQL Connector/C++库。您需要添加以下库文件: - libmysql.lib - mysqlcppconn.lib 4. 编写代码:在您的C++代码中,使用MySQL Connector/C++ API连接MySQL数据库。您需要提供以下信息: - 主机名 - 用户名 - 密码 - 数据库名称 以下是一个简单的示例代码: #include <iostream> #include <mysql_connection.h> #include <mysql_driver.h> #include <cppconn/driver.h> #include <cppconn/exception.h> #include <cppconn/resultset.h> #include <cppconn/statement.h> using namespace std; int main() { sql::Driver *driver; sql::Connection *con; sql::Statement *stmt; sql::ResultSet *res; driver = get_driver_instance(); con = driver->connect("tcp://127...1:3306", "root", "password"); con->setSchema("mydatabase"); stmt = con->createStatement(); res = stmt->executeQuery("SELECT * FROM mytable"); while (res->next()) { cout << res->getString("column1") << endl; } delete res; delete stmt; delete con; return ; } 请注意,您需要将“127...1”替换为您的MySQL服务器的IP地址,将“root”替换为您的MySQL用户名,将“password”替换为您的MySQL密码,将“mydatabase”替换为您要连接数据库名称,将“mytable”替换为您要查询的表名,将“column1”替换为您要检索的列名。 希望这可以帮助您连接MySQL 8.数据库

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值