C++中MFC DLL 按條件查詢mysql數據並修改
extern "C" void PASCAL EXPORT enroll(int numA,int numB)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
// 此處爲普通函數體
MYSQL m_sqlCon;
try{
mysql_init(&m_sqlCon);
if(!mysql_real_connect(&m_sqlCon, "ip地址","登陸賬號","登陸密碼","數據庫名",3306,NULL,0)){
AfxMessageBox(_T("數據庫連接失敗!"));
}else{
char select_user[255];
int content;
int num_row,num_col;
MYSQL_RES *result=NULL;
MYSQL_ROW mysql_row;
sprintf_s(select_user, "select * from gmicus where num='%d'", numA);
if (mysql_query(&m_sqlCon, select_user) || !(result = mysql_store_result(&m_sqlCon))) {
AfxMessageBox(_T("程序運行錯誤!"));
}
num_row=(int)mysql_num_rows(result);
num_col=(int)mysql_num_fields(result);
if (num_row== 0) {
AfxMessageBox(_T("識別碼錯誤!"));
}else{
while (mysql_row = mysql_fetch_row(result))//獲取具體的數據
{
for (int i = 0; i < num_col; i++)
{
if(i==0){
/*CString str;
str.Format(_T("%d"), (int)atoi(mysql_row[i]));
AfxMessageBox(str);*/
content=(int)atoi(mysql_row[i]);
break;
}
}
}
if(content==0){
char update[255];
sprintf_s(update, "update gmicus set id='%d' where num='%d'", numB, numA);
if(mysql_query(&m_sqlCon, update)) {
AfxMessageBox(_T("註冊失敗!"));
}else{
AfxMessageBox(_T("註冊成功!"));
}
}else{
AfxMessageBox(_T("此識別碼已被註冊過!"));
}
}
mysql_free_result(result);
mysql_close(&m_sqlCon);
getchar();
}
}catch (...){
AfxMessageBox(_T("未知錯誤!"));
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.