为什么总是出这样的错误!!!!!!!!!!!!!!!帮帮我!!!!

xiaomailovelvping 2005-11-13 01:30:46
我在用vc 做一个考勤管理系统,在做登陆界面的时候连接数据库(access),但是总是出这样的错误,大家帮我看看吧,下面这段代码在我点登陆的时候总是出"在字符串ID= and Passwd= 中有错误"
void CLoginDlg::OnOK()
{
BOOL bLogin=FALSE;
CString strPasswd,strCount;

UpdateData(); // 更新数据变量
if(!db.Open (m_strDSN)) return; // 连接数据库
strPasswd=CCrypt::Encrypt(m_strPasswd, 123); // 加密密码

CRecordset rs(&db); // 构造记录集
rs.Open(CRecordset::forwardOnly,
"select COUNT(ID) as COUNT from PERSON where ID='"+m_strUser
+"' and PASSWD='"+m_strPasswd,NULL); // 执行查询
rs.GetFieldValue("COUNT",strCount);
rs.Close(); // 关闭数据集*/
if(strCount=="1") // 判断认证是否通过
{
EndDialog(IDOK); // 结束对话框,返回IDOK
}
else
{
MessageBox("请确认用户名和密码,注意大小写!","认证失败");
db.Close(); // 关闭数据库
}
}
...全文
110 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghosthjt 2005-11-15
  • 打赏
  • 举报
回复
rs.Open(CRecordset::forwardOnly,
"select COUNT(ID) as COUNT from PERSON where ID='"+m_strUser
+"' and PASSWD='"+m_strPasswd+"'"
,NULL);
这个是不会编译错误的.
实在不行这样:
CString sql;
sql.Format("select COUNT(ID) as COUNT from PERSON where ID='%s' and PASSWD='%s'",m_strUser,m_strPasswd);

rs.Open(CRecordset::forwardOnly,sql,NULL);
xiaomailovelvping 2005-11-13
  • 打赏
  • 举报
回复
添上"'"后就出现编译错误了,我在线等待答复,还望各位高手给予解决,最好给一个vc的登陆源代码!!!!!!!!!!!!!!!!!!
sxslyy 2005-11-13
  • 打赏
  • 举报
回复
"select COUNT(ID) as COUNT from PERSON where ID='"+m_strUser
+"' and PASSWD='"+m_strPasswd+"'"
好象少了一个"'".

4,017

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧