m_AccessLink.Open();
CString str1,str3;
GetDlgItemText(IDC_EDIT1,str1);
GetDlgItemText(IDC_EDIT3,str3);
int len1 = str1.GetLength();
int len3 = str3.GetLength();
if(len1 == 0 || m_ct3 == 0)
{
MessageBox("用户名或密码不能为空!");
return;
}
m_AccessLink.MoveFirst();
while(1){
if (m_AccessLink.IsEOF())
break;
if (m_AccessLink.m_Name == m_ct1)
{
if (m_AccessLink.m_Password == m_ct3)
{
m_AccessLink.Close();
MessageBox("success");
return;
}
}
else m_AccessLink.MoveNext();
}
这串代码做的是登陆那个键,只要是输入了数据库中没有的账号,就会出现中止的那个错误,为什么?
用try catch来包装你上面访问数据库的代码,这样当用户名错误的时候,可以捕获到错误的exception,从而防止程序出错
没有和有的区别,是没有时会走到 if (m_AccessLink.IsEOF()) 分支,然后 break 出去。应该不会出错才对啊!break 出去时,也应该有 Close 数据才对。
你确定数据库里面有的帐号和密码能登录?