MFC连接MySql数据库
来源:互联网 发布:关键词转换淘宝二维码 编辑:程序博客网 时间:2024/04/27 21:30
环境:VC++6.0
MySql版本:mysql-5.5.20-win32
MySql连接管理:mysql-connector-odbc-5.2.2-ansi-win32
MySql数据管理:HeidiSQL_7.0
首先是各种软件的安装先安装MySql数据库,其次是Connector和HeidiSQL,这里就不过多介绍了,MySql可以到http://www.mysql.com/处下载。
1.打开HeidiSQL,并登陆数据库如图
2. 新建数据库和表,这里我建立的是test数据库和user_table表
3. 设置表
这个自行设置即可,顺便添加数据到表中。前期工作准备的就差不多了。
4. 设置数据源
在管理工具中找到数据源(ODBC)->添加->MySQL ODBC 5.2a Driver,然后设置我们的数据库以及用户名、密码、端口,
完了之后可以Test一下,失败了再去找问题吧。
5. 打开VC6.0新建MFC基于对话框的程序
其中ListControl控件的styles为Report。
6.在对话框的头文件中添加一下两个头文件
#include <odbcinst.h>
#include <afxdb.h>
进入OnInitDialog函数中,填写一下代码
m_list.InsertColumn(0, _T("ID"), LVCFMT_LEFT, 80);m_list.InsertColumn(1, _T("userName"), LVCFMT_LEFT, 100);m_list.InsertColumn(2, _T("userPasswd"), LVCFMT_LEFT, 150);db.Open(NULL, FALSE, FALSE, "ODBC;DSN=odbcTest;UID=root;PWD=123456");rs.m_pDatabase = &db;m_list.SetExtendedStyle(LVS_EX_FLATSB | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);以上是设置ListControl控件的格式以及打开数据库,其中db和rs定义在头文件中分别是CDatabase和CRecordset类型。
由于在程序中需要频繁调用显示数据库的操作,因此将其封装成一个函数getRecord,如下
m_list.DeleteAllItems();rs.Open(CRecordset::forwardOnly, _T("SELECT * FROM user_table order by id Desc"));while (!rs.IsEOF()){CString varID;rs.GetFieldValue("id", varID);m_list.InsertItem(0,varID);CString varName;rs.GetFieldValue("userName", varName);m_list.SetItemText(0, 1, varName);CString varPasswd;rs.GetFieldValue("userPasswd", varPasswd);m_list.SetItemText(0, 2, varPasswd);rs.MoveNext();}rs.Close();
在初始化函数中调用该函数,运行程序可以看到ListControl控件已经可以显示数据库中的数据了。
7. 数据库操作
数据库操作主要是用以下语句实现的
CString sql;sql.Format(_T("insert into user_table (userName, userPasswd) values('%s', '%s')"), m_userName, m_userPasswd);db.ExecuteSQL(sql);只要数据库语句会写,操作一般没问题的。
这里我是用弹出子对话框的形式来添加数据的。
按键被按下时即弹出此对话框,之后将数据返回到主对话框中,用的是全局变量和静态函数的方法,即子对话框通过静态函数将数据返回到主对话框中,在子对话框中添加初始化函数是增加WM_INITDIALOG消息实现的。
其他细节性的东西这里就不赘述了。
参考文章:http://wenku.baidu.com/view/12b4790bbb68a98271fefa4c.html
参考文章:http://hi.baidu.com/hackxhj/item/cd895829d29058e950fd87ba
PS:本文代码我已上传到我的资源里面,如有需要,可去下载,由于本人刚接触MFC,请各位大牛批评指正。不胜感激。
http://download.csdn.net/detail/key123zhangxing/4660798
- MFC连接MySql数据库
- MFC之连接mysql数据库
- MFC之连接mysql数据库
- MFC ODBC连接mysql数据库
- MFC ODBC连接mysql数据库
- MFC连接MySQL数据库实例
- VS2005 VC++ MFC 连接 MYSQL 数据库
- mfc vs2010 C++ 连接mysql等数据库
- mfc vs2010 C++ 连接mysql等数据库
- MFC通过ODBC连接MySql数据库问题
- 数据库操作:MFC连接与MYSQL
- MFC使用ODBC连接MySQL数据库
- MFC下ADO连接MYSQL数据库
- MFC 使用VS 连接 MySQL数据库
- MFC连接MySql数据库(不通过其他驱动)
- MFC连接mysql数据库(十分钟搞定)
- 利用MFC的ADO连接mysql数据库成功
- MFC中的listcontrol控件连接mysql数据库输出数据
- #ifdef用法
- Eclipse IDE for Java Developers与Eclipse IDE for Java EE Developers的区别
- Socket多客户端-黑马程序员
- 错误代码
- YY图
- MFC连接MySql数据库
- 调查称66万人民币可购房移居德国是误导-移居-移民-德国
- 注意 ExecuteNonQuery() 返回值 问题
- 星号图
- PowerDesigner设计数据库
- 面试题9答案
- 第八周任务—整个人都主动撞错了!
- 第八周上机任务 撞错
- 寻找n个元素中的第2小元素