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;
}
}
///////////////////==========不用设置数据源连接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;
}
}
相关文章推荐
- 如何实现 VC中访问Access数据库的方法(不建立ODBC数据源)
- VC/MFC中的ACCESS数据库访问实现(方法2)
- VC/MFC中的ACCESS数据库访问实现(方法3)
- VC中访问Access数据库的方法(不需要用户建立ODBC数据源)
- vc对Access数据库访问方法
- VC++下使用ADO访问Access数据库完整篇
- PHP访问ACCESS数据库的两种方法
- VC中使用ADO访问数据库技术程序实现方法
- VC++中使用ADO访问Oracle遇到的问题及解决方法(待续)
- 使用VC连接Access数据库的两种方法
- VC++的应用程序框架中各类之间的访问方法
- VC++下使用ADO访问Access数据库完整篇
- VC连接ADO方式ACCESS数据库在WIN7下编译到XP下不能运行解决方法
- 使用VC在ADO中访问存储过程的方法
- vc 使用ado访问access数据库
- MFC使用ADO方式访问ACCESS数据库判断数据重复的方法
- VC++的应用程序框架中各类之间的访问方法
- VC单文档多视图工程中,在任何地方访问某一指定视图类的方法
- 【C++_一点用法】VC访问Access数据库
- ACCESS数据库ODBC访问异常的处理方法