<!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} @font-face {font-family:"/@宋体"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋体; mso-font-kerning:1.0pt;} /* Page Definitions */ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page Section1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:36.0pt; mso-footer-margin:36.0pt; mso-paper-source:0;} div.Section1 {page:Section1;} -->
今天做了登录界面,用到access 数据库下面总结一下access 数据库连接方法在网上找的再总结下:
1 、 在 StdAfx.h 头文件中导入 msado15.dll 文件。 ( 代码如下 )
#import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace /
rename("EOF","adoEOF")rename("BOF","adoBOF")
还有还要加 #pragma warning(disable:4146) 解决出现的一个 warning 。
2 、 在主窗口类声明两个变量。
代码:
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset;
3 、 因为 m_pConnection 、 m_pRecordset 等 ADO 对象以组件方式提供的,所以需要初始化 COM 库;
开始需要调用 CoInitialize(NULL) ,最后需要调用 CoUninitialize();
初始化函数 InitInstance() 中初始化 COM 环境
在上面添加: CoInitialize(NULL);
并在 return 之前释放:添加代码如下: CoUninitialize();
4 、 建立 ADO 连接数据库函数
在主窗口类库中添加函数 OnInitADOConn() ;
并在该函数添加如下代码:
try
{
// 创建连接对象实例
m_pConnection.CreateInstance("ADODB.Connection");
// 设置连接字符串
CString strConnect="DRIVER={Microsoft Access Driver (*.mdb)};/
uid=;pwd=;DBQ=shujuku.mdb;";
// 使用 Open 方法连接数据库
m_pConnection->Open((_bstr_t)strConnect,"","",adModeUnknown);
}
catch(_com_error e )
{
AfxMessageBox (" 连接数据失败,请检查数据库路径是否正确! ");
}
在这里我的数据名字为shujuku.mdb , CStringstrConnect="DRIVER={Microsoft Access Driver(*.mdb)}; uid=;pwd=;DBQ=shujuku.mdb;" ;
也可以使用如下字符串连接
CString strConnect="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=shujuku.mdb;Persist Security Info=False"; 代替
5 、建立关闭记录集和连接函数 ExitConnect() 并添加代码:
// 关闭记录集和连接
if(m_pRecordset!=NULL)
m_pRecordset->Close();
m_pConnection->Close();
最重要的是别忘了调用初始化程序和反初始化程序,如果没有就不能连接数据库因为这个我找了一下午后来才发现缺少初始化。