MFC通過ODBC連接mysql(使用VS2012編寫MFC)


原創文章,轉載請注明原文:MFC通過ODBC連接mysql(使用VS2012編寫MFC) By Lucio.Yang

1.ODBC連接mysql

  首先ODBC是什么呢?

  開放數據庫互連(Open Database Connectivity,ODBC)是微軟公司開放服務結構(WOSA,Windows Open Services Architecture)中有關數據庫的一個組成部分,它建立了一組規范,並提供了一組對數據庫訪問的標准API(應用程序編程接口)。這些API利用SQL來完成其大部分任務。ODBC本身也提供了對SQL語言的支持,用戶可以直接將SQL語句送給ODBC。

  可以通過如下路徑找到ODBC:控制面板->管理工具->數據源(ODBC)

  1.1 安裝mysql-odbc driver

    這個driver將mysql數據庫與ODBC連接在一起。可以在mysql官網下載,但是需要注冊。尤其需要注意,如果使用的是vs2012及更低的vs版本,請下載32位的driver,否則VS將不能成功連接ODBC。原因是VS只有32位版本,原因參照-為什么VS2010沒有64位版本

  1.2 ODBC連接mysql

    打開ODBC(ODBC分32位和64位)。

    

    在用戶DSN中點擊添加。

    

    選擇mysql odbc unicode driver,完成,出現以下界面。

    

    在Data Source Name中為數據源命名;Deccription為描述,可不填;TCP/IP Sever 填寫localhost;User填寫mysql用戶名,Password填寫mysql密碼。當以上均填寫正確時,Database就可以有mysql數據庫中的數據庫供你選擇了。而后點擊Test,顯示successful則成功。

    然后回到用戶DSN界面可以看到自己的DSN了。

2.MFC程序連接ODBC

    2.1 打開stdafx.h頭文件,添加如下語句

      #include <odbcinst.h> 
      #include "afxdb.h"

      這兩個頭文件定義了之后要用到的數據庫操作類。

    2.2 打開數據庫

CDatabase db; CString sentence; sentence.Format("ODBC;DSN=Sunny;UID=%s;PWD=%s",MyPublicData.login_name,MyPublicData.login_pass); db.Open(NULL,FALSE,FALSE,sentence); if(!db.IsOpen ()) MessageBox(); CRecordset rs( &db ); rs.Open( CRecordset::forwardOnly, _T("SELECT * FROM login_info"));

  其中,format中的DSN、UID、PWD分別對應已建ODBC中的Data Source Name、User、Password。sql語句自行定制。

  以上代碼僅為打開數據庫的最簡單操作。

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM