我先创建一个对话框应用程序,然后设计一个需要帐户密码的登录界面,并建立一个user的access数据库包含帐户和密码字段的数据信息,现在需要登陆框数据与数据库比对,正确则进入程序界面,使用ODBC类连接数据库如何编程!特别是如何验证登录密码的MFC代码该怎么写!谢谢!

解决方案 »

  1.   

    参考例子
    VS2008
    http://download.csdn.net/source/2886243VC6.0下
    http://download.csdn.net/source/2848883
      

  2.   

    CString sql;
    sql.Format("SELECT * FROM user WHERE name ='%s' AND password = '%s'",m_strname,m_strPassword)pSet->Open(..,sql);
      

  3.   

     UpdateData();
    db.Open("user",FALSE,FALSE,"ODBC;",FALSE);
        dbset(&db);
    CString strfd1,strfd2;
    dbset.Open(CRecordset::dynaset,_T("SELECT *FROM userinform"));
    dbset.GetFieldValue("username",strfd1);
        dbset.GetFieldValue("userpass",strfd2);
    if(m_edit1==strfd1&&m_edit2==strfd2)
    {
         ShellExecute(this->m_hWnd,"open","C:\\Program Files\\Microsoft Visual Studio\\MyProjects\\new1\\Debug\\new1.exe","","", SW_SHOW );
          DestroyWindow();
    }
    else
          MessageBox("用户名或密码错误!","提示",MB_OK|MB_ICONWARNING);
    调试后仍有错误:error C2064: term does not evaluate to a function
    Error executing cl.exe.
      

  4.   

    看看这个帖子
    http://topic.csdn.net/u/20100429/11/a1a68cd2-d942-4f6b-b387-69a130ec5888.html?15205
      

  5.   

    我的代码是:
    db.Open("user",FALSE,FALSE,"ODBC;",FALSE);
        CRecordset dbset(&db);

         CString sql;
         // sql.Format("SELECT * FROM userinform WHERE username ='%s' AND userpass = '%s'",strfd1,strfd2);
         dbset.Open(CRecordset::dynaset,_T("SELECT *FROM userinform WHERE username ='%s' AND userpass = '%s'"))
       ;
    dbset.GetFieldValue("username",strfd1);
        dbset.GetFieldValue("userpass",strfd2);
        UpdateData(); if(m_edit1==strfd1&&m_edit2==strfd2)
    {
         ShellExecute(this->m_hWnd,"open","C:\\Program Files\\Microsoft Visual Studio\\MyProjects\\new1\\Debug\\new1.exe","","", SW_SHOW );
          DestroyWindow();
    }
    else
          MessageBox("用户名或密码错误!","提示",MB_OK|MB_ICONWARNING);
    }
    编译通过,运行显示错误:无效的标游状态!
      

  6.   

    3楼的代码要注意,你的代码有被sql注入的危险.实际中是不会这么编码的.通常先验证用户名是否存在,在这个前提下再来验证密码是否正确.