使用ADo 连接数据库突然出现

图片说明

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一样