標籤:服務 inf roo ack 錯誤 tab style .lib sql
今天分享一下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
C++MFC串連MYSQL資料庫