Visual Studio 2017 连接Mysql的过程及遇到的坑
记录用Visual Studio 2017连接MySQL时遇到的一些问题及连接过程
实验材料
visual studio 2017
MySQL的下载地址:
MySQL安装教程:
附赠一个MySQL的图形化界面的操作给不会敲命令行的同学(Navicat的简体中文版) 下载连接: 提取码:p7rd 首先声明一下:用VS连接Mysql的方法有很多种,我使用的方法建一次项目需要配置一次
下面进行连接
首先在这里我用的是X64的mysql进行的连接,故在开始的时候需要更改一下运行控制台 这里我也给出了更改的方式、以及会出现的报错
更改方式: 如果不更改会产生的报错: *OK,更改过后我们继续进行以下操作,这里我就不详解了,可以去看 ** 对了还有,过程中可能还会报这样一个错: 没有找到libmysql.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题
关于这个错我是这么来解决的:
解决方法: 找到MySQL安装包,进入lib目录里面将下面的连个文件一同复制过去 下面是我用来测试数据库是否连接成功的代码(必须提前建好数据在里面)
#include <stdio.h> #include <mysql.h> #define _UNICODE void sqlselect(MYSQL *, const char *); //测试查询数据 MYSQL *mysql = NULL; int main() { //初始化MySQL连接句柄 mysql = mysql_init((MYSQL *)0); mysql_real_connect ( mysql, "localhost", //数据库地址 "root", //数据库用户名 "root", //数据库密码 "test", //数据库名称 0, //数据库端口,0表示默认端口(即3306) NULL, //如果unix_socket不是NULL,字符串指定套接字或应该被使用的命名管道。注意host参数决定连接的类型 0 //通常是0 ); if (!mysql) //连接失败 { printf("Connection error:%d, %s ", mysql_errno(mysql), mysql_error(mysql)); } const char *command = "select * from id,user,pwd"; //查询指令 // 改变编码格式 mysql_set_character_set(mysql, "GB2312"); sqlselect(mysql, command); //查询数据 mysql_close(mysql); //关闭连接 system("pause"); return 0; } void sqlselect(MYSQL *mysql, const char *command) { int flag = mysql_real_query(mysql, command, strlen(command)); if (flag) { printf("Select error:%d, %s ", mysql_errno(mysql), mysql_error(mysql)); return; } MYSQL_RES *res = mysql_store_result(mysql); //读取将查询结果 MYSQL_FIELD *field = mysql_fetch_fields(res); //获取所有列名 int field_count = mysql_field_count(mysql); //获取列数 //输出所有列名 for (int i = 0; i < field_count; i++) { printf("%s ", field[i].name); } printf(" "); //遍历输出每一行数据 MYSQL_ROW row; while (row = mysql_fetch_row(res)) { for (int i = 0; i < field_count; i++) { printf("%s ", row[i]); } printf(" "); } }
上一篇:
IDEA上Java项目控制台中文乱码