OpenDB();
m_userSet.Open();
try
{ //设置查询条件
CString strSQL=_T("");
strSQL += "m_userID=";
strSQL += "971039";
strSQL += " and m_password=";
strSQL += 111;
strSQL += "";
m_userSet.m_strFilter=strSQL;
if (!m_userSet.CanRestart())
{
AfxMessageBox("记录集不能Requery!");
return ;
}
if (!m_userSet.Requery())
{
AfxMessageBox("Requery Failed!");
}
请不要用m_userID和m_password,而是用数据库表的正式字段名,我想应该是:userID和password,因为构造的SQL语句是提交给数据库引擎的,不是给C++的。
错误原因是你把C++绑定数据库字段后的变量名构造进了SQL语句,而数据库引擎却不知这个字段在何处。
jjqiao710102(aqiao)说的有理!
m_userID应该是你应用程序中的名字,如对话框中的。而不是数据库中的。
同意楼上各位,这是个常见问题
区分程序中的变量和数据库中字段,
虽然他们在交换数据是有对应关系,
但各自的角色是不同的!!!!
唉,来晚了,:)
区分数据库中字段名称和与其相对应的变量名称
数据库中是不是只要文本才要‘’呢??有时候对文本不用单引号的话好象还是有上述错误!