ACCESS数据库名是:train.mdb,数据源是train,已经建好.
我想做个简单的验证密码的登陆程序.
是个对话框程序.就两个编辑框和一个按钮.
两个编辑框分别是IDC_username,IDC_password,并已经给了两个对应的成员变量:m_username,m_password.train.mdb数据库的表USER_PSWD就是对应的用户名和密码.
请问在OnButton1函数里怎样写???就是验证这两个编辑框是否与表的相同......???

解决方案 »

  1.   

    这里很多的代码
    http://www.vckbase.com/code/listcode.asp?mclsid=11&sclsid=1101
      

  2.   

    void CLogindig::OnOK() ////表示登陆按钮
    {
    // TODO: Add extra validation here
        CDatabase db;
        db.OpenEx(_T("DSN=train;UID=YILING"));//////YILING是登陆的用户名,如果有密码也加上
    //db.OpenEx(NULL);
    CLoginset * m_recordset=new CLoginset(&db); ///CLoginset是和用户表关联的记录集
        
    UpdateData(TRUE);
    CString sql="SELECT * FROM [LoginInfor] where [Name]='"+m_user+"' and [Password]='"+m_psw+"'";
        m_recordset->Open(AFX_DB_USE_DEFAULT_TYPE,sql);
    if(m_recordset->GetRecordCount()==0)
    {
    if(count<2)
    {
    MessageBox("错误的用户名或密码");
    count++;
    m_recordset->Close();
    db.Close();
    }
    else
    {
    MessageBox("对不起!你已经试过3次,将退出系统!");
    m_recordset->Close();
    db.Close();
    EndDialog(FALSE);
    }
    }
    else
    {
    Loginid=m_user;
    psw=m_psw;
    m_recordset->Close();
    db.Close();
    CDialog::OnOK();
    }
    }
      

  3.   

    你是不是指ODBC API的用法?
      

  4.   

    看你用那种方式了,用ODBC连接,数据源的DSN是必须的。
      

  5.   

    请问:为什么
    CString strSQL;
    UpdateData(TRUE);
    strSQL.Format("select * from USER_PSWD where TMS_USER='%S' AND TMS_PSWD='%s'",
    m_username,m_password);
    //为什么这句SQL语句不行???
    而:
    CString  sql=  "SELECT  *  FROM  [LoginInfor]  where  [Name]='  "+m_user+  "'  and  [Password]='  "+m_psw+  "'  ";  
    这句就行???
      

  6.   

    应该是关键字的问题,name,password都是关键字,加了[]之后就成了字段名,不要用关键字作名字