MFC连接mysql数据库.pdf
MFC 连接 mysql数据库(十分钟搞定)最近要做一个大作业,需要用到数据库,sql server 装了两次都失败,遂弃暗投明,用mysql,虽然我从来没有接触过,数据库么,一通百通的,5 分钟就熟悉了。问题的关键是要用MFC 连接 mysql 数据库,将数据库里面的数据读出来,查了一个晚上的资料,愣是没有搞定。连接数据库太烦了吧如果你也跟我一样,没有专研精神,只是想快速的完成任务,这篇文章就是写给你的,不用找了,这已经是相对很简单的方法了。MFC 连接数据库常用的方法有三种:1.ODBC2.MFC 数据库类3.DAO 数据库本文采用第二种方法(据说第三种方法最简单,管他呢,MFC 数据库类已经很白痴了)首先配置DSN,方法如下:http:/ ODBC 3.5 Driver这一项,也就是说我们没有装驱动,去下载一个就好了,很小&免费:http:/ 应用程序,然后随便弄个鼠标响应事件或者菜单响应事件什么的。添加如下代码:cppview plaincopyprint?1.try2.3.CDatabase db;4.if(db.Open(noahsample)5.db.ExecuteSql(insert into UserMaster values(TestID,Test User Name,0);6.db.Close();7.8.9.catch (CDBException*e)10.11.AfxMessageBox(e-m_strError);12.e-Delete();13.具体的 SQL 语句根据你的字段不同而不同啦,然后去数据库看一下数据插入了没有,如果插入了,恭喜你,MFC 连接数据库最头疼的部分搞定了,接下来的事情就是查一下MFC 类库,进行响应操作而已,很easy。第三步:查询数据其实有了上面那几行代码进行增删改都没有问题了,下面讲解一下查询数据。MFC 提供了一个CRecordset对象,(用以代表一个表,我是这么理解的,事实也是这样的),我们可以通过类向导新建一个代表一张表的 CRecordset类。方法如下:这里关键是基类要选择CRecordSet,然后进入如下页面“noahsample”是之前配置DSN 的时候定义的名字。选择相应的表,这样就完成了一个CRecordset类的定义,该类就代表的那张表。如下查询语句相应大家一看就懂。什么?看不懂?难道你是安师大计算机专业毕业的?cppview plaincopyprint?1.void CDatabaseDlg:OnBtnSave()2.3.try4.5.CDatabase db;6.if(db.Open(noahsample)7.UpdateData(TRUE);8./CString sql;9./sql.Format(insert into test values(%d,%s),m_nUserID,m_strUserName);10.11./db.ExecuteSQL(sql);12.CTestDBSet*pCTestDBSet=new CTestDBSet();13.pCTestDBSet-Open(CRecordset:snapshot,select*from test);14.CString result=_T(学号t姓名 n);15.while(!pCTestDBSet-IsEOF()16.17.CString str;18.str.Format(%d t%sn,pCTestDBSet-m_num,pCTestDBSet-m_name);19.result+=str;20.pCTestDBSet-MoveNext();21.22.MessageBox(result);23./db.ExecuteSQL(insert into test values(3,laimingxing);24.db.Close();25.26.27.catch (CDBException*e)28.29.AfxMessageBox(e-m_strError);30.e-Delete();31.32.