MFC串連mysql資料庫(十分鐘搞定)

來源:互聯網
上載者:User

    最近要做一個大作業,需要用到資料庫,sql server裝了兩次都失敗,遂棄暗投明,用mysql,雖然我從來沒有接觸過,資料庫麼,一通百通的,5分鐘就熟悉了。問題的關鍵是要用MFC串連mysql資料庫,將資料庫裡面的資料讀出來,查了一個晚上的資料,愣是沒有搞定。串連資料庫太煩了吧……

    如果你也跟我一樣,沒有專研精神,只是想快速的完成任務,這篇文章就是寫給你的,不用找了,這已經是相對很簡單的方法了。


MFC串連資料庫常用的方法有三種:

1.ODBC

2.MFC資料庫類

3.DAO資料庫

本文採用第二種方法(據說第三種方法最簡單,管他呢,MFC資料庫類已經很白癡了)


首先配置DSN,方法如下:

http://docs.noahweb.net/config_dsn.htm

    注意:你電腦上很可能沒有MySql ODBC 3.5 Driver這一項,也就是說我們沒有裝驅動,去下載一個就好了,很小&&免費:http://ishare.down.sina.com.cn/18810049.msi?ssig=3NTFUcCBfX&Expires=1319731200&KID=sina,ishare&ip=1319622288,59.77.16.

第二步:

    建立一個MFC應用程式,然後隨便弄個滑鼠響應事件或者菜單響應事件什麼的。添加如下代碼:

try{CDatabase db;if( db.Open("noahsample")){db.ExecuteSql("insert into UserMaster values( 'TestID' , 'Test User Name' , 0)");db.Close();}}catch (CDBException* e){AfxMessageBox( e->m_strError);e->Delete();}

具體的SQL語句根據你的欄位不同而不同啦,然後去資料庫看一下資料插入了沒有,如果插入了,恭喜你,MFC串連資料庫最頭疼的部分搞定了,接下來的事情就是查一下MFC類庫,進行響應操作而已,很easy。

第三步:查詢資料

   其實有了上面那幾行代碼進行增刪改都沒有問題了,下面講解一下查詢資料。

    MFC提供了一個CRecordset對象,(用以代表一個表,我是這麼理解的,事實也是這樣的),我們可以通過類嚮導建立一個代表一張表的CRecordset類。方法如下:

這裡關鍵是基類要選擇CRecordSet,然後進入如下頁面

“noahsample”是之前配置DSN的時候定義的名字。

選擇相應的表,這樣就完成了一個CRecordset類的定義,該類就代表的那張表。如下查詢語句相應大家一看就懂。什麼?看不懂?難道你是安師大電腦專業畢業的?

void CDatabaseDlg::OnBtnSave() {try{CDatabase db;if( db.Open("noahsample")){UpdateData(TRUE);//CString sql;//sql.Format("insert into test values ( %d , '%s')", m_nUserID , m_strUserName);//db.ExecuteSQL(sql);CTestDBSet *pCTestDBSet = new CTestDBSet();pCTestDBSet->Open(CRecordset::snapshot , "select * from test");CString result = _T("學號\t姓名\n");while( ! pCTestDBSet->IsEOF()){CString str;str.Format("%d \t%s\n" , pCTestDBSet->m_num , pCTestDBSet->m_name);result += str;pCTestDBSet->MoveNext();}MessageBox( result );//db.ExecuteSQL("insert into test values( 3, 'laimingxing')");db.Close();}}catch (CDBException* e){AfxMessageBox( e->m_strError);e->Delete();}}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.