VC和SQL登陆窗口代码问题 10
代码如下voidCDlg_login::OnOK(){//TODO:Addextravalidationhere//TODO:Addextravalidationhere...
代码如下
void CDlg_login::OnOK()
{
// TODO: Add extra validation here
// TODO: Add extra validation here
this->UpdateData(true);
::CoInitialize(NULL);
this->m_pConnection.CreateInstance(__uuidof(Connection));
this->m_pRecordset.CreateInstance(__uuidof(Recordset));
this->m_pConnection->Open("DSN=超市仓库进销存管理系统_dsn","","",0);//上面四行为打开数据源连接
CString str;
str.Format("select * from user_pass where 用户名='%s' and 密码='%s'",this->m_login_name,this->m_login_pwd);
BSTR bstrSQL=str.AllocSysString();
this->m_pRecordset->Open(bstrSQL,(IDispatch*)this->m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText);
if(!this->m_pRecordset->adoEOF)
CDialog::OnOK();
else MessageBox("Failed");
this->m_pRecordset->Close();
this->m_pConnection->Close();
}
能告诉我为什么用了这个代码我不管账号密码正不正确都可以进入?
怎么修改?
谢谢了 展开
void CDlg_login::OnOK()
{
// TODO: Add extra validation here
// TODO: Add extra validation here
this->UpdateData(true);
::CoInitialize(NULL);
this->m_pConnection.CreateInstance(__uuidof(Connection));
this->m_pRecordset.CreateInstance(__uuidof(Recordset));
this->m_pConnection->Open("DSN=超市仓库进销存管理系统_dsn","","",0);//上面四行为打开数据源连接
CString str;
str.Format("select * from user_pass where 用户名='%s' and 密码='%s'",this->m_login_name,this->m_login_pwd);
BSTR bstrSQL=str.AllocSysString();
this->m_pRecordset->Open(bstrSQL,(IDispatch*)this->m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText);
if(!this->m_pRecordset->adoEOF)
CDialog::OnOK();
else MessageBox("Failed");
this->m_pRecordset->Close();
this->m_pConnection->Close();
}
能告诉我为什么用了这个代码我不管账号密码正不正确都可以进入?
怎么修改?
谢谢了 展开
2个回答
展开全部
select * from user_pass where 用户名='%s' and 密码='%s'
应该是 select * from user_pass where 用户名 like '%s' and 密码 like '%s'
应该是 select * from user_pass where 用户名 like '%s' and 密码 like '%s'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-13
展开全部
认证完密码之后,你是怎样进入系统的?
是不是应该要有一个create窗口的过程啊?
create窗口的过程是不是应该在你这段程序的最后面,如果找不到该密码和用户名,就在"Failed"提示后,加一个return,结束改函数,不去执行不就行了。
关键是,你这个是怎么样进系统的?请问
是不是应该要有一个create窗口的过程啊?
create窗口的过程是不是应该在你这段程序的最后面,如果找不到该密码和用户名,就在"Failed"提示后,加一个return,结束改函数,不去执行不就行了。
关键是,你这个是怎么样进系统的?请问
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询