Updatedata();       
if(m_edtTrans   ==   "admin"   &&     m_edtTrans2       ==     "admin")       
{       
        CDialog::OnOK();           //关闭这个登录对话框   
          CInterfaceDlg     dlg;   //CInterfaceDlg为你的主页面的类名,因为在这里用到了CInterfaceDlg,因此要包含头文件   #include   "InterfaceDlg.h"   
        dlg.DoModal();                       
}       
else       
{       
        AfxMessageBox("用户名或密码错误,请重新输入!");       
        m_edtTrans1.SetFocus();       
}我现在是用SQL SERVER 建立了数据库 KOF
表 MEMBER  有 ID ,MEMBER_NAME, MEMEBER_PASSWORD
这个时候的登陆按钮 代码 应该是什么样的 ?
才能 核对 数据库的NAME  PASSWORD 呢 ?

解决方案 »

  1.   

    CString strSql;
    strSql.Format(_T("select id,member_name,member_password from member where member_name='%s'"), m_edtTrans.GetWindowText());
    执行strSql语句,获得记录集
    if (有记录 && m_edtTrans2.GetWindowText()==member_password值)
    {
      CDialog::OnOK();
      ......
    }
    else if (有记录)
    {
      AfxMessageBox(_T("密码不正确!"));
      m_edtTrans2.SetFocus();
    }
    else
    {
      AfxMessageBox(_T("用户不存在!"));
      m_edtTrans1.SetFocus();
    }
      

  2.   

    代码的大概看懂了
    但是 
    if   (有记录   &&   m_edtTrans2.GetWindowText()==member_password值)
    IF 有记录的时候  直接在代码里用"有记录" ????
      

  3.   

    还有 是不是要指定要连接的 数据库名字 KOF呢?
    呵呵 第一次用VC 不怎么明白 希望帮帮忙 谢谢
      

  4.   

    先了解一下ado是如何使用的,很简单,我上面只是伪代码
      

  5.   

    代码的大概看懂了 
    但是   
    if  (有记录  &&  m_edtTrans2.GetWindowText()==member_password值) 
    IF   有记录的时候     直接在代码里用"有记录"   ????
    ===================================================================================不是的
    ===============================================
    还有   是不是要指定要连接的   数据库名字   KOF呢? ==============================================
    必须的,要制定链接的数据表,才能进行查找操作CString   strSql; 
    strSql.Format(_T("select   id,member_name,member_password   from   KOF   where   member_name='%s'")
    这个sql语句就是根据输入的name,到KOF数据库中查找相应的密码,当然你需要将这个数据库中的密码和用户输入的相比较,如果相同,则成功。
    也即判断m_edtTrans2.GetWindowText()==member_password。通常,密码这个表中都要进行加密的。如果有加密,还需要知道加密算法,通过解密把明文恢复出来。你需要稍微看一下vc连接数据库相关的资料,就比较好解决这个问题了。