该教程开始之前,确保已经下载好了mysql,我所使用的mysql版本是mysql-5.6.48-winx64,后面系统的位数要下载好,不同的系统位数在连接vs2010时会有不同,并且确保你的数据库已经创建好数据库和表,这里以讲解64位为主。

vs:vs2010
数据库:mysql-5.6.48-winx64

以下是流程,先贴出,让大家有一个大致的思路:
1.添加mysql的include路径到包含和引用目录,添加mysql的lib路径到添加库目录
2.复制libmySQL.dll、libmysql.lib两个文件到工程
3.添加头文件,连接数据库

以下是详细实现过程:
我所创建的MFC应用程序项目是基于对话框的,为了避免后面因为名称不同而造成的麻烦,建议大家和我创建一样的,这样也不影响大家学会如何连接数据库。

  1. 打开所需要连接数据库的属性页

    2.在出现的属性页下点击vc++目录,对包含目录、引用目录、库目录添加你安装的mysql的路径(确保是你自己安装的mysql路径):




    这里要强调一个点,在这里就可以将平台设置为64位:
    具体实现如下:

    3.在你所安装的mysql/lib目录下找到libmysql.dll和libmysq.lib,复制到工程下:

    4.从这步开始,我们可以实现一个简单的登录界面,来验证是否连接数据库成功:
    (1)打开资源视图下的Dialog下的IDD_TEST4_DIALOG(根据你所创建的项目名不同,test4这个名称会有所不同),双击打开

    (2)在该对话框页面添加以下控件,注意将用户名那一行对应的编辑框的id更改为IDC_USERNAME,密码那一行对应的编辑框的id更改为IDC_PASSWORD


    (3)打开类视图(快捷键:Ctrl+Shift+x),为两个编辑框绑定变量,方便对编辑框里的内容进行操作:

    ID为IDC_USERNAME的编辑框操作如同上表,得到的结果如下:

    (4)在test4Dlg.cpp下添加如下头文件:

#include "winsock2.h" //定义socket
#include "mysql.h" //连接mysql的接口
#pragma comment(lib,"libmysql.lib")//附加依赖项

(5)回到该页面,双击确定按钮为确定按钮快速添加响应函数:

(6)会直接跳转到对应的响应函数void Ctest4Dlg::OnBnClickedOk(){}内:
在这个函数内添加以下代码,注意下面的user[],pswd[],table[]对应行的引号内修改为你的数据库信息

CDialogEx::OnOK();GetDlgItem(IDC_USERNAME)->GetWindowText(m_name); //获得输入的用户名GetDlgItem(IDC_PASSWORD)->GetWindowText(m_password); //获得输入的密码const char user[] = "你的数据库名";const char pswd[] = "你的数据库密码";const char host[] = "localhost";const char table[] = "表名";unsigned int port = 3306;MYSQL_RES *res;MYSQL_ROW row;MYSQL mysqlCon;if (m_name.IsEmpty() || m_password.IsEmpty()){MessageBox(_T("用户名或密码不能为空!"), _T("用户登录信息"));return;}mysql_init(&mysqlCon);if (!mysql_real_connect(&mysqlCon, host, user, pswd, table, port, NULL, 0)){AfxMessageBox(_T("访问数据库失败!"));}else{mysql_query(&mysqlCon, "SET NAMES 'GB2312'"); //设置字符集AfxMessageBox(_T("访问数据库成功!"));}CString select_sql_by_user;select_sql_by_user.Format(_T("select Username,password from  admin where Username = \'%s\'"),m_name);int ress = mysql_query(&mysqlCon,select_sql_by_user);if (ress == 0) //检测查询成功{res = mysql_store_result(&mysqlCon);if (mysql_num_rows(res) == 0) //查询结果为空{AfxMessageBox(_T("用户不存在"));}else{row = mysql_fetch_row(res);if (m_password == row[1]){mysql_free_result(res);MessageBox(_T("登录成功!"));UpdateData(TRUE);     }else{AfxMessageBox(_T("密码错误!"));}}}else{AfxMessageBox(_T("访问失败!"));}mysql_close(&mysqlCon);

(7)运行后,以我的数据库为例子,输入用户名和密码:

只要出现以下界面,说明你的数据库连接成功啦!


以上内容全部是基于自己期末大作业时进行的实践后的操作,应该是很细致了,但是大家如果还是在实现的过程中遇到问题,欢迎在评论区进行提问,我只要有空就会及时回复。
下面也贴出我实现的完整的基于MFC的图书管理系统,供有需要的人学习参考。
博客:https://blog.csdn.net/weixin_46295937/article/details/112251976
完整程序下载地址
如果需要转载,请注明出处。

vs2010连接mysql数据库相关推荐

  1. VS2010连接MySql数据库时无法选择mysql database数据源

    点击连接下载文件:https://dev.mysql.com/downloads/file/?id=451295 解决方案:点击上面的连接,下载mysql-for-visualstudio-1.1.4 ...

  2. mac weka连接mysql_weka连接mysql数据库

    [2018年整理]o与tl直接使用字符串连接mysql数据库_计算机软件及应用_... 接下来我将详细介绍如何 在 NetBeans 中连接 MySQL 数据库.本文以... { ConnectMyS ...

  3. cpp 怎么连接mysql_C++连接mysql数据库的两种方法

    现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用access和sql server比较多.通过网上的一些资料和自己的摸索,大致清楚了C++连接m ...

  4. pydev集成mysql_【Python】Windows平台下Python、Pydev连接Mysql数据库

    Mysql数据库是跨平台的,不是说Python一定就要连接Mongodb. Python连接Mysql数据库是非常easy的. 首先,你要配置好Python的开发环境,详见<[Python]Wi ...

  5. ASP.NET 连接MySql数据库

    ASP.NET Mysql操作类 以下连接MySql数据库以VS2010为例,对于其他的编辑器也差不多 1. 我们需要在Mysql官网下载一个组件http://dev.mysql.com/downlo ...

  6. vs 中使用32 位mysql_vs2010连接mysql数据库(含win32和x64两种平台)

    数据库安装: 此处有两种安装方式,第一种使用xxx.msi图形化安装方式,和普通的exe软件安装方式一样,按照默认选项一直下一步就可以.mysql下载地址为http://dev.mysql.com/d ...

  7. dw2019连接mysql数据库_VS2019连接mysql8.0数据库的教程图文详解

    1.首先准备好VS2019以及mysql数据库,两者都可以去官网下载,我们直接描述连接过程. 2.连接: 第一步:打开mysql的安装目录,我本地的安装目录如下:(注意是否有include和lib文件 ...

  8. c 连接mysql数据库_C++连接mysql数据库的两种方法

    现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用access和sql server比较多.通过网上的一些资料和自己的摸索,大致清楚了C++连接m ...

  9. C#连接MySQL数据库详细步骤

    C#连接MySQL数据库 连接之前的准备 要完成的任务 连接MySql数据库 写我们的代码 运行出错: 程序效果: 本人的问题,用的是vs2010,连接数据库就没有那么方便了,下面是具体连接数据库的过 ...

最新文章

  1. 【原】DjianGo Windows7下的安装
  2. php下载七牛整个文件夹,七牛云存储文件批量下载工具 - 行客工作室
  3. 2014-07-28 使用Axure RP进行手机端BBS的原型设计
  4. 开启事物_用一支洁面慕斯,开启精致生活
  5. Winform 水印TextBox
  6. 线程通过实现Runnable接口和继承Thread方法的区别
  7. 参加了 InfoQ 的虚拟座谈会
  8. html5华迪,比亚迪永通华迪4S店:元新能源最低售8.19万
  9. CAD中的曲线长度如何测量?
  10. 【19调剂】南方科技大学2019年硕士研究生招生预调剂公告
  11. [转载] 晓说——第25期:看美国系列之“两极分化的黑人”
  12. [机缘参悟-14]:哲学、唯物主义、唯心主义与空无主义
  13. python3 pycharm 抓取app 上的数据
  14. 监控摄像头为什么可以发出声音并且可以接受对方声音?
  15. Android短视频开发中的sdk接入方案
  16. 中国数学的先行者—孙光远先生
  17. IllegalStateException: Failure saving state: active Fragment has cleared
  18. 第三届“传智杯(练习赛)--E.儒略历
  19. css实现文字旋转360度
  20. 变现利器!一文带你学会应用内添加「贴片广告」

热门文章

  1. 海康单路服务器型号,DS-VM11S-B
  2. 汉诺塔递归算法理解及实现
  3. java 判断一个数是不是素数
  4. 图片懒加载及Vue自定义图片懒加载指令
  5. 记:《洛克菲勒留给儿子的38封信》-- 30
  6. 桥接模式下无法连接到ens33网络
  7. HTTP代理,代理服务器
  8. 洛谷P5707上学迟到
  9. Flink处理迟到数据的几种方式
  10. 计算机窗口的跳转列表,win7[开始]菜单和任务栏最近打开的项目(跳转列表)