1. 程式人生 > >C++MFC連接MYSQL數據庫

C++MFC連接MYSQL數據庫

技術分享 鏈接器 close 獲取數據 bubuko 初始化 database gbk clu

今天分享一下VS2013MFC利用mysql自己的api函數來連接MYSQL數據庫,數據庫的安裝在這裏不多說,可以找教程,我主要記錄一下C++MFC連接數據庫。需要說明一點,我使用的VS201332位的,所以MYSQL也必須使用32位的,這樣不會出現莫名奇妙的錯誤。接下來開始步驟:

一:項目配置

1.打開mysql的安裝路徑,找到include文件夾和lib文件夾
如圖:
技術分享圖片

2.打開項目 –> 屬性 –>VC++目錄
如圖:
技術分享圖片

includelib分別添加到包含目錄和庫目錄即可

3.打開項目 –> 屬性 –> 鏈接器 –> 輸入 –> 附加依賴項


如圖:
技術分享圖片

libmysql.lib添加進去,也可以在cpp文件中手動添加.

4.最後再把libmysql.dll動態庫復制到項目文件下面就可以了。否則運行時會提示缺少此庫。

二:代碼編輯

1.連接數據庫:

//初始化數據庫

mysql_init(&local_mysql);

//設置數據庫編碼格式

mysql_options(&local_mysql, MYSQL_SET_CHARSET_NAME, "gbk");

//連接數據庫

if (!mysql_real_connect(&local_mysql, "localhost", "root", "123456", db_name, 9806, NULL, 0))
{
//AfxMessageBox("connect to database failed!");
return FALSE;
}

2.執行SQL語句

//定義字符數組,存儲要執行的SQL語句

char sql_select[100];

//將要執行的SQL語句放入數組中

sprintf(sql_select, "SELECT *FROM USERINFO WHERE USER=‘%s‘;", user);

//執行語句

if (mysql_query(&local_mysql, sql_select) == 0)//執行查詢語句成功!
{

//執行SQL語句成功

}

3.其它

//檢查是否已經連接了數據庫

if (mysql_ping(&local_mysql) == 0)/
{
//AfxMessageBox("數據庫已連接!

")
}

//斷開數據庫連接

mysql_close(&local_mysql);

//獲取SQL執行錯誤結果

mysql_error(&local_mysql);//獲取數據庫錯誤信息

4.獲取數據集

//從執行結果中獲得結果集

MYSQL_RES* result = mysql_store_result(&local_mysql);
MYSQL_ROW row;

// 將結果逐行讀出直到讀完

while (row = mysql_fetch_row(result))
{
//處理逐行結果

m_data[i].push_back(m_row[0]);

m_data[i].push_back(m_row[1]);

m_data[i].push_back(m_row[2]);

m_data[i].push_back(m_row[3]);

m_data[i].push_back(m_row[4]);

m_data[i++].push_back(m_row[5]);

}

有任何問題,或者需要後臺服務器交流,請聯系我QQ:2769519484

C++MFC連接MYSQL數據庫