关于mariaDB数据库,在MFC中发送命令错误! [英] About mariaDB database,sent command error in MFC!
本文介绍了关于mariaDB数据库,在MFC中发送命令错误!的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我所有的朋友!
最近,我学习了mariaDB数据库。
plz检查以下代码:
Hi,all my friends!
Recently,I learn mariaDB database.
plz check following codes:
MYSQL g_sqlCon;
mysql_init(&g_sqlCon);
if (!mysql_real_connect(&g_sqlCon, "109.130.15.111","pesystem","tstcpe","repairfunction",1081,NULL,0))
{
AfxMessageBox(_T("connect error!"));
}
else
{
char update_server[200];
memset(update_server, NULL, 200);
int iSize = 0;
int res = 0;
MYSQL_ROW row;
MYSQL_RES *result;
mysql_query(&g_sqlCon, "SET NAMES GBK");
CString SqlValues = _T("");
SqlValues.Format(_T("select PASSWORD from master_user where USER_ID='%s';"),loginid);
iSize = WideCharToMultiByte(CP_ACP, 0, SqlValues, -1, NULL, 0, NULL, NULL);
WideCharToMultiByte(CP_ACP, 0, SqlValues, -1, update_server, iSize, NULL, NULL);
res = mysql_query(&g_sqlCon, update_server);//return 0 Success
result = mysql_use_result(&g_sqlCon);
row = mysql_fetch_row(result);
if(row[0] == password)
{
SYSTEMTIME time;
GetLocalTime(&time);
CString jobtime;
jobtime.Format(_T("%d-%02d-%02d %d:%d:%d"),time.wYear,time.wMonth,time.wDay,time.wHour,time.wMinute,time.wSecond);
SqlValues = _T("");
SqlValues.Format(_T("update master_user set LASTLOGIN_IP = '%s', LASTLOGIN_DATETIME = '%s' where USER_ID = '%s';"),(GetLocalIPAddress()?g_get_localIP:_T("127.0.0.0")),jobtime,loginid);
memset(update_server, NULL, 200);
iSize = WideCharToMultiByte(CP_ACP, 0, SqlValues, -1, NULL, 0, NULL, NULL);
WideCharToMultiByte(CP_ACP, 0, SqlValues, -1, update_server, iSize, NULL, NULL);
res = mysql_ping(&g_sqlCon);//return 1 FAIL
res = mysql_query(&g_sqlCon, update_server);//return 1 FAIL
}
else
{
AfxMessageBox(_T("PASSWORD error"));
GetDlgItem(IDC_EDIT_PASSWORD)->SetWindowText(_T(""));
}
}
res = mysql_ping(& g_sqlCon); //返回1失败>
res = mysql_query(& g_sqlCon,update_server); //返回1失败
我不知道为什么失败了?
或者教我如何在MFC中使用mariaDB?
非常感谢!
res = mysql_ping(&g_sqlCon);//return 1 FAIL
res = mysql_query(&g_sqlCon, update_server);//return 1 FAIL
I didn't know why FAIL was returned?
Or teach me how to use mariaDB in MFC?
Thank you very much!
推荐答案
SqlValues.Format(_T("select LOCK_FLAG from master_user where USER_ID='%s'"),loginid);
iSize = WideCharToMultiByte(CP_ACP, 0, SqlValues, -1, NULL, 0, NULL, NULL);
WideCharToMultiByte(CP_ACP, 0, SqlValues, -1, update_server, iSize, NULL, NULL);
res = mysql_query(&g_sqlCon, update_server);
result = mysql_use_result(&g_sqlCon);
while(row = mysql_fetch_row(result))
temp = row[0];
mysql_free_result(result);
while(row = mysql_fetch_row(result))temp = row [0]; //没关系!
while(row = mysql_fetch_row(result)) temp = row[0];//it is ok!
这篇关于关于mariaDB数据库,在MFC中发送命令错误!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文