VC++MFC ADO数据库编程实现与总结

本文介绍了如何在VC++ MFC应用程序中使用ADO库连接并操作Access数据库。首先在stdafx.h中导入ADO库,接着在APP文件的InitInstance()中初始化Ole。然后,详细阐述了数据库连接过程,包括建立连接字符串和打开数据库的方法。最后,展示了一个执行SQL查询的示例函数,返回记录集供进一步处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.首先在stdafx.h 文件中导入如下:

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

 

2.在工程的APP文件中的InitInstance()中添加如下函数:

 

 AfxOleInit();

 

3.添加数据库连接:你可以将下面代码写到一个函数中,因为每执行一次SQL语句就要先执行连接一次。

里面的DataSource是你的数据表的路径,当你的数据表添加到工程文件中时,

 //////////////////////////////////////////////////////////////////////////
 //建立数据库连接
 ::CoInitialize(NULL);
 //////////////////////////////////////////////////////////////////////////
 //集创建实例
 m_pRecordset.CreateInstance("ADODB.Recordset");

 HRESULT hr;
 try
 {
  hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
  if(SUCCEEDED(hr))
  {
   hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mymediaplayerdb.mdb","","",adModeUnknown);///连接数据库
   ///上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,需要改为:Provider=Microsoft.Jet.OLEDB.3.51; }
   
  }
  
 }
 catch (_com_error e)
 {
  CString errormessage;
  errormessage.Format("连接数据库失败!/r/n错误信息:%s",e.ErrorMessage());
  AfxMessageBox(errormessage);///显示错误信息
  
 }

 

4.现在就可以自己编写函数进行执行。当查询的时候返回的为结果集。

_RecordsetPtr CTestADODlg::OnQueryMusic(CString strName)
{
 CString sql = "SELECT musicname FROM Music WHERE musicname like '%";
 sql+=strName;
 sql+="%'";
 m_pConnection->Execute((_bstr_t)sql,&Reffected,adCmdText);
 m_pRecordset = m_pConnection->Execute("select * from Music",&Reffected,adCmdText);

return m_pRecordset;

}

之后可以使用结果集中的函数获得数据。以及下一条信息,上一条信息等。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值