今天分享一下VS2013MFC利用mysql自己的api函數來連接MYSQL數據庫,數據庫的安裝在這里不多說,可以找教程,我主要記錄一下C++MFC連接數據庫。需要說明一點,我使用的VS2013是32位的,所以MYSQL也必須使用32位的,這樣不會出現莫名奇妙的錯誤。接下來開始步驟:
一:項目配置
1.打開mysql的安裝路徑,找到include文件夾和lib文件夾
如圖:
2.打開項目 –> 屬性 –>VC++目錄
如圖:
把include和lib分別添加到包含目錄和庫目錄即可
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