登录对话框,密码不能为空??
cdlgz 2005-04-26 02:13:17 制作一个登录对话框,数据库用MFC CRecordSet类
字段为用户名和密码
密码不为空时,一切正常
当把密码设为空时(就是更改密码时,什么也不填)
登录时密码也不填,点登录就提示密码错误,为什么?
这段程序应该没有问题:
try
{
if(m_UserRecordSet.IsOpen())
m_UserRecordSet.Close();
m_UserRecordSet.m_strFilter.Format("UserName = '%s' and UserPwd = '%s'",
m_strUserName,m_strUserPwd);
m_UserRecordSet.Open(CRecordset::snapshot,NULL,CRecordset::none);
if(!m_UserRecordSet.IsEOF())//当有记录时
{
//设置管理员标志
if(m_UserRecordSet.m_UserAble=="管理员")
m_gFlagAdmin=TRUE;
else
m_gFlagAdmin=FALSE;
//关闭数据库
m_UserRecordSet.Close();
}
else
{
m_UserRecordSet.Close();
AfxMessageBox("密码错误,请重试!");
//清空密码框
m_strUserPwd.Empty();
UpdateData(FALSE);
//重新获得输入焦点
GetDlgItem(IDC_EDIT_USER_PWD)->SetFocus();
return;
}
}
catch(CDBException*e)
{
e->ReportError ();
//e->Delete ();
return;
}