毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

mfc登录窗体如何做

更新时间:2012-5-14:  来源:毕业论文

我做了一个基于单文档的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();

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。