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


原创粉丝点击