关于mariaDB数据库,在MFC中发送命令错误! [英] About mariaDB database,sent command error in MFC!

查看:65
本文介绍了关于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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆