MFC+MYSQL实现的登录对话框,求改。。。。。。
MYSQLmysql;MYSQL_RES*result;MYSQL_ROWrow;mysql_init(&mysql);chars[]="SETNAMES'GB2312'...
MYSQL mysql; MYSQL_RES *result;
MYSQL_ROW row; mysql_init(&mysql);
char s[] = "SET NAMES 'GB2312'";
int real = mysql_real_query(&mysql,s,(UINT)strlen(s));
//if (real == 0){}
char sql[] = "select *from user";
real = mysql_real_query(&mysql, sql, (UINT)strlen(sql));
if (real == 0)
{
result = mysql_use_result(&mysql);
if (result != NULL)
{
row = mysql_fetch_row(result);
while (row != NULL)
{
if (m_username == CString(row[0]))
{
if (m_password == CString(row[1]))
{
CDialog::EndDialog(1);
}
else
{
MessageBox(_T("密码错误"), _T("登录界面"), MB_OK);
return;
}
}
row = mysql_fetch_row(result);
}
其中 user是表,含有username和password,m_username和m_password是edit控件的变量 展开
MYSQL_ROW row; mysql_init(&mysql);
char s[] = "SET NAMES 'GB2312'";
int real = mysql_real_query(&mysql,s,(UINT)strlen(s));
//if (real == 0){}
char sql[] = "select *from user";
real = mysql_real_query(&mysql, sql, (UINT)strlen(sql));
if (real == 0)
{
result = mysql_use_result(&mysql);
if (result != NULL)
{
row = mysql_fetch_row(result);
while (row != NULL)
{
if (m_username == CString(row[0]))
{
if (m_password == CString(row[1]))
{
CDialog::EndDialog(1);
}
else
{
MessageBox(_T("密码错误"), _T("登录界面"), MB_OK);
return;
}
}
row = mysql_fetch_row(result);
}
其中 user是表,含有username和password,m_username和m_password是edit控件的变量 展开
1个回答
展开全部
你想改什么? 是报错还是优化?
报错的话麻烦把报错的提示信息贴出来。木有耐心看这些代码~
报错的话麻烦把报错的提示信息贴出来。木有耐心看这些代码~
更多追问追答
追问
好吧,登录的问题解决了,但是不会写怎么把数据insert进数据库里,这是代码:
MYSQL mysql;
char sql[] = "insert into user values (m_username,m_password)";
mysql_query(&mysql,sql);
没有报错,但是也没有效果,应该是没输进mysql里
追答
inesrt代码错了。
因为user表可能有不只username password两个字段,所以前边最好限制一下 表 的字段名。
insert into user(username,password) values(m_username,m_password
)
我写插入语句一般习惯用 CString类型的sql,insert语句用Format格式化。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询