VC中访问Access数据库的方法

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;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值