MFC鏈接ACCESS管理(ADO)

經過各類查找,實踐寫代碼。成功經過ADO鏈接ACCESS。
 數據庫

stdafx.h頭文件先定義ide

#import "C:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF", "adoEOF")ui

*初始化(名字沒有dlg初始化窗口那裏),必定不要忘記了。spa

AfxOleInit();指針

頭文件定義了兩個指針get

_ConnectionPtr m_pConnection;
  _RecordsetPtr m_pRecordset;it

接下來就是 m_pConnection 鏈接io

    try                 
{
 // 打開本地Access庫
 m_pConnection.CreateInstance(__uuidof(Connection));
 m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=usedat.mdb;Jet OLEDB:Database Password=你ACCESS的密碼","","",adModeUnknown);import

    }
    catch(_com_error e)
{
 AfxMessageBox("數據庫鏈接失敗,確認數據庫是否在當前路徑下!");
 
}百度

接下來就是 m_pRecordset 取數據集

m_pRecordset.CreateInstance(__uuidof(Recordset));
    m_pRecordset->Open("select * from users",m_pConnection.GetInterfacePtr(),  
        // 獲取庫接庫的IDispatch指針
      adOpenDynamic,
      adLockOptimistic,
      adCmdText);
    if(!m_pRecordset->BOF)
    {
   m_pRecordset->MoveFirst();
    }
    else
  {
   AfxMessageBox("表內數據爲空");
   return;
  }
    while(!m_pRecordset->adoEOF)
  {
        if(tem.vt!=VT_NULL)
        {
    tem=m_pRecordset->GetCollect("use");
    id=(LPCSTR)_bstr_t(tem);//_variant_t轉換CString
        }
    if(tem1.vt!=VT_NULL){
    tem1=m_pRecordset->GetCollect("pwd");
    pw=(LPCSTR)_bstr_t(tem1);
    }
     m_pRecordset->MoveNext();
    
    if(m_id==id&&m_pwd==pw)
    {
    flag=1;
    break;
    }

    m_pRecordset->Close();
    m_pRecordset = NULL;

if(flag!=1)
{    
    AfxMessageBox("賬號或密碼錯誤");
}
else
{

    CLoginDlg::EndDialog(0);
    Cwel wel;
    wel.DoModal();
        
}

程序圖標

界面

只是程序下載百度網盤下載地址

相關文章
相關標籤/搜索