CString Uuser;
CUser pre = (CUser)GetParent();
Uuser = pre->m_strUsernam;
CString strSql;
strSql.Format("select Uname from U_info where Uuser = '%s'",Uuser);
CADORecordset RS(&CTicketSystem11App::m_DB);
if (RS.Open((LPCTSTR)strSql))
{
CString Auser;
RS.GetFieldValue("Uname",Auser);
if (Auser == "")
{
EndDialog(IDD_DIALOG_USERWIN);
CNotHaveUserM m_dlg;
m_dlg.DoModal();
}
else
{
EndDialog(IDD_DIALOG_USERWIN);
CUserManage m_dlg;
m_dlg.DoModal();
}
}
先从登录界面读取到账户名,然后看数据库里面有没有姓名属性没有进入一个界面。有进入另外一个界面。是不是构造记录及那块出错了?我感觉没有错啊。
说明没有查找到对应的记录,这个要看你的程序。
加上一个RS.MoveNext看看。where条件查询出来有没有数据
ADO出错一般就是表的列名没写对,或者类型接收错误,还有一种可能是数据库类型不匹配,如ADO连接mdb,使用日期类型会出bug一样