我做了一个基于单文档的mfc工程,想创建一个登录模块,具体做时困难重重,想请教一下做的思路步骤,主要是用户名和密码编辑框的变量定义和登录按钮的消息响应,还有如何使工程在进入单文档界面之前首先调出登录对话框?(我用的是ado访问SQL数据库)
在InitInstance中
CLonginDlg dlg;
if(dlg.DoModal()==IDCANCEL)
{
    return FALSE;//直接退出程序
}
在CLonginDlg类的OnOk中
static UINT times=0;
    UpdateData();
    m_ID.TrimRight();
    m_ID.TrimLeft();
    
    m_Password.TrimLeft();
    m_Password.TrimRight();
    if(m_ID.IsEmpty()||m_Password.IsEmpty())
    {
        MessageBox("帐号和密码请填写","提示");
        return;
    }
    CString sql;
    sql.Format("select PassWord from mypassword where UserID = '%s'",m_ID);
    CADO m_ado;
    _RecordsetPtr m_Recordset;
    _variant_t Varvalue;
    try
    {
        m_ado.ADOinit();
        m_Recordset = m_ado.OpenRecordset(sql);//打开记录集
        if(m_Recordset->adoEOF)//没有记录
        {
            MessageBox("用户名不存在!","提示");
            times++;
            OnErrLongin(times);//这里主要用于显示出错次数.CStatic控件
            if(times==3)
            {
                ExitProcess(0);//直接退出
            }
            return;
        }
        Varvalue = m_Recordset->GetCollect((_variant_t)(long)(0));//得到值
    
        CString strResult;
        strResult = (char *)(_bstr_t)Varvalue;
        strResult.TrimLeft();
        strResult.TrimRight();
        if(strResult!=m_Password)//取出的密码跟输入的密码匹配
        {
            MessageBox("密码不正确!","提示");
            times++;
            OnErrLongin(times);
            if(times==3)
            {
                ExitProcess(0);
            }
            return;
        }
    }
    catch(_com_error e)
    {
        MessageBox(e.Description());
    }
    CDialog::OnOK();