您的位置:首页 > 数据库

VC中访问Access数据库的方法

2010-06-21 00:10 288 查看
ODBC

///////////////////==========不用设置数据源连接access数据库=======/////////////////
CDatabase m_db;
CString strDriver = "MICROSOFT ACCESS DRIVER (*.mdb)";                       //
CString strDsn;                                                               //
CString strFile = "C://Downloads//MyQQ//DB//MyQQ.mdb";//access数据库文件目录      //
strDsn.Format(_T("ODBC;DRIVER={%s};UID=sa;PWD=sa;DBQ=%s"),strDriver,strFile);   //
TRY                                                                        //
{                                                                         //
   m_db.Open(NULL,false,false,strDsn);                                    //
/////////////////检查连接状态//////                                    //
if(m_db.IsOpen())                                                   //
{                                                                  //
MessageBox(_T("数据库连接成功"),_T("OK"),MB_ICONASTERISK);               //
//return;                                                       //
}                                                               //
else                                                           //
{                                                             //
MessageBox(_T("数据库连接失败"),_T("ERROR"),MB_ICONERROR);          //
return;                                                    //
} //////////////////////////////////                      //
}                                                           //
CATCH(CDBException,e)                                      //
{                                                         //
AfxMessageBox(_T("Database Error:") + e->m_strError);       //
}                                                       //
END_CATCH;                                             //
/**/////////////////////////////////////////////////////////

http://hi.baidu.com/ypxmaomao/modify/blog/01178e03b9b5ae8fd53f7c86
///////////=====需要设置ODBC数据源连接======//////////////////////
//UpdateData(true);
/* CDatabase m_db;
    CString strConnect;                                   //
    strConnect.Format(_T("DSN=MyQQ;UID=;PWD="));           //
                                                     //
   TRY                                              //
   {                                               //
                                   ///////
   m_db.OpenEx(strConnect,CDatabase::noOdbcDialog);   //
                                                     //
//////////////检查连接状态//////////              //
if(m_db.IsOpen())                              //
{                                             /////////
MessageBox(_T("数据库连接成功"),_T("OK"),MB_ICONASTERISK); //
//return;                                         //
}                                                 //
else                                             //
{                                               ///////
MessageBox(_T("数据库连接失败"),_T("ERROR"),MB_ICONERROR); //
return;                                           //
}                                                 //
//////////////////////////////////                 //
}                                                  //
CATCH(CDBException,e)                             //
{                                                ///////
AfxMessageBox(_T("Database Error:") + e->m_strError);   //
}                                                   //
END_CATCH;                                         //
*///////////////////////////////////////////////////

 

==========================================================

ADO

http://hi.baidu.com/ypxmaomao/modify/blog/01178e03b9b5ae8fd53f7c86

_ConnectionPtr pConnection;
int Connect_DB()
{

HRESULT hr;
hr = pConnection.CreateInstance(__uuidof(Connection));//实例化
if (SUCCEEDED(hr)) //#define SUCCEEDED(Status) ((HRESULT)(Status) >= 0)//
{
   TCHAR szFilePath[MAX_PATH + 1];
   GetModuleFileName(NULL, szFilePath, MAX_PATH);
   (_tcsrchr(szFilePath, _T('//')))[1] = 0;//删除文件名,只获得路径 
   CString str_url = szFilePath;
   CString temp;
   temp.Format("Provider=Microsoft.Jet.OLEDB.4.0 ; Data Source =%s//zhushou.mdb",szFilePath);
   try
   {
    pConnection->CursorLocation = adUseClient;  
    pConnection->Open((_bstr_t)temp, "","",adModeUnknown);
   }
   catch(...)
   {
    AfxMessageBox(_T("服务器连接失败,请检查网络"));
    return 0;
   }
   //实例化成功
}
else
{
   AfxMessageBox(_T("初始化失败"));//hr实例化失败i=0
   return 0;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息