oledb vc访问mdb数据库_VC.Net 连接数据库的步骤(ADO--Access)

一、ADO连接Access(Windows Vista,VS2005)

1、 创建基于Dialog的MFC Application,工程名为IPVista。

2、 打开stdafx.h,添加以下代码:

#import

"c:\program files\common files\system\ado\msado15.dll" \

no_namespace \

rename ("EOF", "adoEOF")

//msado15.dll 一般在该路径下

3、 打开IPVista.h,在public添加如下代码:

_ConnectionPtr m_pConnection;

4、 打开IPVista.cpp,在CIPVistaApp::CIPVistaApp()

中添加以下代码:

AfxOleInit();

m_pConnection.CreateInstance(__uuidof(Connection));

try

{

m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data

Source=quanhao.mdb","","",adModeUnknown);

}

catch(_com_error e)

{

AfxMessageBox("数据库连接失败,确认数据库quanhao.mdb是否在当前路径下!");

return false;

}

//quanhao.mdb 为该工程所需的Access数据库

5、 在

IPVista.cpp中添加消息函数ExitInstance(),并在函数中添加如下代码:

if(m_pConnection->State)

m_pConnection->Close();

m_pConnection=NULL;

6、 打开IPVistaDlg.h,定义查询表:

public:

_RecordsetPtr m_pRecordsetQuma;

7、 打开IPVistaDlg.cpp,声明外部变量:

extern CIPVistaApp theApp;

8、 打开IPVistaDlg.cpp,在OnInitDialog函数中添加如下代码:

m_pRecordsetQuma.CreateInstance(__uuidof(Recordset));

try

{

m_pRecordsetQuma->Open("select * from quma",

theApp.m_pConnection.GetInterfacePtr(),

adOpenStatic, //adOpenDynamic为动态光标

adLockOptimistic,

adCmdText);

}

catch(_com_error *e)

{

AfxMessageBox(e->ErrorMessage());

}

9、 至此,IPVista工程与数据库quanhao.mdb中的查询表quma通过ADO连接完闭。

二、ADO的用法

1、Move

if(!m_pRecordsetQuma->BOF)

m_pRecordsetQuma->MoveFirst();

else

{

AfxMessageBox("表内数据为空");

return false;

}

while(!m_pRecordsetQuma->adoEOF)

{

var=m_pRecordsetQuma->GetCollect("IDSpace");//表属性;var为_variant_t型

str=(LPCSTR)_bstr_t(var);

m_ctlIDWhere.AddString(str);//ComboBox

m_pRecordsetQuma->MoveNext();

}

m_pRecordsetQuam->Move(half);//half

为long型

2、 RecordCount

long mobCount;

mobCount=m_pRecordsetQuma->RecordCount;

//此时m_pRecordsetQuma应为adOpenStatic

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值