设为首页 加入收藏

TOP

VC用ADO打开和关闭数据库
2014-11-23 20:26:44 】 浏览:399
Tags:ADO 打开 关闭 数据库
初始化:

1.找到"stdafx.h"文件,并添加代码:

#import "C:\WINDOWS\system32\msado15.dll" \
no_namespace \
rename ("EOF", "adoEOF")

解释:"EOF"-"End Of Line"即是否为 数据库的最后一行。

2.在"Dlg.h"文件中进行对象定义:

public:
_ConnectionPtr m_Connection; //连接数据库
_RecordsetPtr m_pRecordset; //记录集

解释:

“m_Connection”负责数据库连接的操作,以及使用m_Connection.Execute()等操作;

“m_pRecordset”负责进行数据集的绑定,一般使用为m_pRecordset.Open()等操作;

3.在"Dlg.cpp"找到"OnInitDialog()"函数,并添加代码如下:

SetIcon(m_hIcon, FALSE); // 设置小图标

///数据库初始化部分
::CoInitialize(NULL); //初始化COM环境,只在对话框建立的时候才进行
HRESULT hr;
try
{
hr = m_Connection.CreateInstance("ADODB.Connection"); //初始化Connection对象实例,不随时释放
if(SUCCEEDED(hr))
{
hr = m_Connection->Open(L"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=MyDBAccess.mdb",L"",L"",adModeUnknown);
}
m_pRecordset.CreateInstance("ADODB.Recordset"); //初始化对象数据集,不随时释放

m_pRecordset->Open("SELECT * FROM 雇员",m_Connection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); //随时可以使用m_pRecordset->Close()进行关闭
}
catch(_com_error &e)
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
}

解释:

::CoInitialize(NULL); -- 进行COM口的初始化,非常重要的一步;

m_Connection.CreateInstance("ADODB.Connection"); --实例化"连接";

m_Connection->Open(); --打开连接;

m_pRecordset.CreateInstance("ADODB.Recordset"); --实例化"数据集";

m_pRecordset->Open(); --绑定数据集

4.在"WM_CLOSE"对应的"OnClose()"函数中进行"释放"操作:

m_pRecordset->Close();
m_Connection->Close();
::CoUninitialize(); //关闭COM环境

CDialog::OnClose();

解释:

之所以将这部分归结到初始化中,原因在于此部分实在是很重要,并且容易遗忘,一旦忽略此部分, 系统将持续报错.(关闭连接,关闭数据集,关闭COM环境)

到此为止,整个的初始化部分就完成了

摘自 踏雪无痕的专栏
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇VC中添加Dialogbar 下一篇WinInet多线程下载器编写历程(1)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目