MFC操作Access数据库的常用方法

我们经常需要保存一些记录,在需要的时候可以调取数据来查看。

有很多种选择,比如最基本的txt文件,Excel文件, Word文件等等, 在此介绍一种数据库,即为Access,它是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统,使用方便可靠。

话不多说,下面开始介绍如何操作Access数据库。

首先, 在VS2010中建立一个MFC新项目, 然后在其stdafx.h中加入如下语句:

 #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")


然后在cpp添加OLE初始化:

if(!AfxOleInit()) {
AfxMessageBox(_T("Initializes OLE support for the application fail!"));
}


接着打开数据库文件:

_RecordsetPtr m_pRecordset;//记录集对象智能指针,它对记录集提供了控制功能

_ConnectionPtr m_pConnection;//连接对象智能指针,通常用于创建一个数据库连接或执行一条不返回任何结果的SQL语句

_bstr_t strcnn(_T("Provider=Microsoft.JET.OLEDB.4.0;Data source=contact.mdb"));
try
{
m_pConnection.CreateInstance(__uuidof(Connection));//创建连接对象实例
m_pConnection->Open(strcnn,  _T(""), _T(""), adModeUnknown);//打开数据库
m_pRecordset.CreateInstance(__uuidof(Recordset));//创建记录集对象实例
}
catch(_com_error e)//获取异常信息
{
AfxMessageBox(e.ErrorMessage());
return FALSE;
}


//获取数据库中的记录总数
_variant_t RecordsAffected; 
m_pRecordset = m_pConnection->Execute("SELECT COUNT(*) FROM contact",&RecordsAffected,adCmdText); 
_variant_t vIndex = (long)0;  
_variant_t vCount = m_pRecordset->GetCollect(vIndex);//取得第一个字段的值放入vCount变量 
m_pRecordset->Close();//关闭记录集 CString message;  
printf("vCount = %d\r\n", vCount.lVal);


//判断数据库中是否已经存在该记录的方法
_variant_t RecordsAffected;
CString str("XXXX");
CString strSql;
strSql.Format(_T("SELECT COUNT(*) FROM contact WHERE  列名= '%s'"), str);
m_pRecordset = m_pConnection->Execute(_bstr_t(strSql),&RecordsAffected,adCmdText); 
_variant_t vIndex = (long)0;  
_variant_t vCount = m_pRecordset->GetCollect(vIndex);//取得第一个字段的值放入vCount变量 
m_pRecordset->Close();//关闭记录集 CString message;  
printf("vCount = %d\r\n", vCount.lVal);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值