各位大哥,帮帮忙,愿意给满分!!
我用Accesss建了一个表,有两个字段,其中一个是Logoname,另一个是Password,程序中有个添加用户的功能,希望是先查询表中是否有这个用户,如果有就重新输入,如果没有,就判断两次输入的密码是否相同,不相同重新输入密码,相同就将这个用户和密码存入表中,希望各位大虾给我个算法,用m_pRecordset实现!!!!!急!!!! 问题点数:100、回复次数:7Top
1 楼zy_9922(zy_9922)回复于 2002-05-23 16:27:42 得分 40
m_pRecordset.m_strFilter="";//检索用户
m_pRecordset.Open();
m_pRecordset.GetStatus(rStatus);
if(m_pRecordset.m_lCurrentRecord>=0)
{
m_pRecordset.Close();
return;
}
if(m_password1!=m_password2)
{
MessageBox("两次密码输入不同,请重新输入");
m_password1=m_password2="";
UpdateData(FALSE);
return;
}
m_pRecordset.AddNew();
。。。
m_pRecordset.Update();
m_pRecordset.Close();Top
2 楼linxiao()回复于 2002-05-23 16:39:14 得分 0
请问zy_9922(zy_9922):
m_pRecordset.GetStatus(rStatus);
是干什么用的?
Top
3 楼ezway(高手的零头★★★★☆)回复于 2002-05-23 16:44:37 得分 0
可以在建表时设唯一,
写入数据库时,如果Catch到唯一性错误就重输Top
4 楼considerer(刘佳)回复于 2002-05-23 16:49:23 得分 0
ezway,你能具体写出源程序吗?我希望能读源程序啊!!Top
5 楼linxiao()回复于 2002-05-23 17:17:31 得分 0
ezway(高手的零头★★★★☆):
可以在建表时设唯一,
写入数据库时,如果Catch到唯一性错误就重输
你有哪个catcht的例子吗?
Top
6 楼linxiao()回复于 2002-05-23 18:10:04 得分 60
UpdateData();
if(m_UserName.IsEmpty())
{
AfxMessageBox("请输入需要添加的用户名");
pEdit->SetFocus();
return ;
}
if(m_PassWord.IsEmpty())
{
AfxMessageBox("请输入口令");
pEdit->SetFocus();
return ;
}
if(m_UserName != m_PswAgain)
{
AfxMessageBox("两次输入的口令不一致");
pEdit->SetFocus();
return ;
}
CDaoRecordsetOperator *pRS1;
pRS1 = new CDaoRecordsetOperator(m_pDB);
ASSERT(pRS1 != NULL);
try
{
pRS1->Open(dbOpenDynaset,_T("select * from operator"),0);
}
catch (CDaoException* e)
{
delete pRS1;
pRS1 = NULL;
TCHAR szCause[255];
CString strFormatted = _T("出错的原因: \n");
e->GetErrorMessage(szCause, 255);
strFormatted += szCause;
AfxMessageBox(strFormatted, MB_OK | MB_ICONEXCLAMATION);
e->Delete();
return ;
}
pRS1->AddNew();
pRS1->m_UserName = m_UserName;
pRS1->m_PassWord = m_PassWord;
try
{
pRS1->Update();
}
catch (CDaoException* e)
{
AfxMessageBox("goto here?");
delete pRS1;
pRS1 = NULL;
TCHAR szCause[255];
CString strFormatted = _T("出错的原因: \n");
e->GetErrorMessage(szCause, 255);
strFormatted += szCause;
AfxMessageBox(strFormatted, MB_OK | MB_ICONEXCLAMATION);
e->Delete();
return ;
}
pRS1->MoveLast();
pRS1->Close();
Top
7 楼linxiao()回复于 2002-05-23 18:18:27 得分 0
if(m_UserName != m_PswAgain)
写错了换成:
if(m_PassWord != m_PswAgain)
Top




