小弟我模仿别人的程序在APP的::InitInstance()中写了下面的代码,结果是:无论在编辑框中有没有输入用户名和密码单击确定后都是重新返回到登录界面,而单击取消的话就还是会闪出主界面然后马上消失(我想实现的功能是:核对用户名和密码正确后进入应用程序,如果核对错误继续核对,仅限三次机会,单击取消主界面不会出现,登录界面也消失).
请高手指点!谢谢!(如果有能针对数据库验证,并能修改密码的更好.)
CLoginDlg clgd;
BOOL islogin = FALSE;
while(!islogin)
{
int nlogin;
nlogin = clgd.DoModal();
if(nlogin == IDOK)
{
CString User = clgd.str_User;
CString Pwd = clgd.str_Pwd;
if(User=="admin" && Pwd =="1234")
{
islogin = TRUE;
}
}
else if(nlogin == IDCANCEL)
{
islogin = FALSE;
::PostQuitMessage(WM_CLOSE);
break;
}
}
------解决方案--------------------------------------------------------
InitInstance里只需要初始化islogin=false,nlogin=0;还有要连接上数据库,
后面的判断代码放在响应登陆按钮的函数里就行了,
------解决方案--------------------------------------------------------
else if(nlogin == IDCANCEL)
{
return FALSE;
}
直接退出整个exe
------解决方案--------------------------------------------------------
使用ADO是比较简单的一种使用数据库的方法,给你提供一种使用access数据库的登录的例子:
当然,首先你要建立一个ACCESS数据库,比如叫Login.mdb,假如里边创建了一张表叫User
1。在StdAfx.h中导入ADO库
- C/C++ code
#import "c:\program files\common files\system\ado\msado15.dll" \ no_namespace \ rename ("EOF", "adoEOF")
------解决方案--------------------------------------------------------