#include <iostream.h>
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("EOF", "adoEOF")
int main(){
//使用ADO连接数据库...
//---------------------------------------------------------------------------------
_ConnectionPtr m_pConnection;
CoInitialize(NULL);
m_pConnection.CreateInstance(__uuidof(Connection));
// 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
// 因为它有时会经常出现一些想不到的错误。
try
{
// 打开本地Access库db1.mdb
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb","","",adModeUnknown);
}
catch(_com_error e)
{
cout<<"数据库连接失败,确认数据库db1.mdb是否在当前路径下!"<<endl;
return FALSE;
}
//-------------------------------------------------------------------------------------
//建立数据集
//-------------------------------------------------------------------------------------
_RecordsetPtr m_pRecordset;
m_pRecordset.CreateInstance(__uuidof(Recordset));
// 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
// 因为它有时会经常出现一些意想不到的错误。
try
{
m_pRecordset->Open("SELECT * FROM Home2",
m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
//AfxMessageBox(e->ErrorMessage());
cout<<e->ErrorMessage()<<endl;
}
//--------------------------------------------------------------------------------------
//读取数据
//--------------------------------------------------------------------------------------
_variant_t var;
char *strID,*strX,*strY;
float X,Y;
try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
cout<<"表内数据为空"<<endl;
return 1;
}
// 读入库中各字段并加入列表框中
while(!m_pRecordset->adoEOF)
{
var = m_pRecordset->GetCollect("ID");
if(var.vt != VT_NULL)
strID= _com_util::ConvertBSTRToString((_bstr_t)var); //_variant_t转字符串
var = m_pRecordset->GetCollect("X");
if(var.vt != VT_NULL)
strX=_com_util::ConvertBSTRToString((_bstr_t)var);
var = m_pRecordset->GetCollect("Y");
if(var.vt != VT_NULL)
strY=_com_util::ConvertBSTRToString((_bstr_t)var);
cout<<strID<<"is"<<strX<<" "<<strY<<endl;
m_pRecordset->MoveNext();
}
}
catch(_com_error *e)
{
cout<<e->ErrorMessage()<<endl;
}
//--------------------------------------------------------------------------------------
//关闭数据集
m_pRecordset->Close();
m_pRecordset = NULL;
//--------------------------------------------------------------------------------------
//关闭数据库连接
//--------------------------------------------------------------------------------------
if(m_pConnection->State)
m_pConnection->Close();
m_pConnection= NULL;
return 0;
}
分享到:
相关推荐
标题 "VC下用ADO读写Access数据库的资料及源代码" 涉及到的知识点主要集中在Microsoft Visual C++(VC)环境下,如何利用ActiveX Data Objects(ADO)与Microsoft Access数据库进行交互。以下是相关的重要知识点: ...
ADO是Microsoft提供的一种接口,它允许开发者与各种数据源进行交互,包括MS Access数据库。在VS2010环境下,C++程序员可以利用ADO库轻松实现数据库操作。 首先,确保你已经安装了Microsoft Office或至少是Microsoft...
在VC++环境中,使用ADO(ActiveX Data Objects)来访问ACCESS数据库是一种常见的数据访问技术。ADO提供了一种统一的方式来操作各种数据库系统,包括Microsoft Access。本文将深入探讨如何利用ADO在VC++中实现数据库...
本教程将深入探讨如何使用Microsoft Visual C++ 6.0(简称VC++6.0)通过ActiveX Data Objects(ADO)来连接和操作ACCESS数据库。ADO是微软提供的一种高效、简洁的数据访问接口,它允许开发者轻松地在各种数据源之间...
本文通过实例演示如何在VC++中使用ADO进行ACCESS数据库编程,并对涉及到的几个概念进行详细解释。 本文不对ADO和ACCESS的基本概念进行详细解释,主要包括以下内容: 第一部分 ADO和ADOX到底是什么,二者的作用和区别...
标题中的“ADO连接access数据库做得个人财务管理软件”指的是使用ActiveX Data Objects (ADO) 技术,通过Visual C++(VC)编程环境开发的一款个人财务管理应用程序。该软件利用Microsoft Access数据库来存储和管理...
VC6通过ADO操作Access数据库(AdoRWAccess),参见: http://download.csdn.net/detail/jojolovejj/3048825 可是那边没有代码下载,折腾N久终于找到了
在Microsoft Visual C++ (VC) 开发环境中,利用ActiveX Data Objects (ADO) 连接并操作Microsoft Access数据库是一项常见的任务。ADO是Microsoft提供的一种数据访问接口,它允许程序员通过简单且直观的方式与各种...
### VC++ 下使用 ADO 访问 Access 数据库详解 #### 一、概述 本文将详细介绍如何使用 Visual C++(VC++)结合 ActiveX Data Objects (ADO) 技术访问 Microsoft Access 数据库的方法。ADO 是一种用于 Windows 应用...
标题中的"Test_ADO.rar"是一个压缩包文件,其中包含了关于使用ADO(ActiveX Data Objects)在VC++(Microsoft Visual C++)环境下操作ACCESS数据库的示例代码和资源。ADO是微软开发的一种数据访问接口,它允许程序员...
在本文中,我们将深入探讨如何使用Visual C++ (VC) 和 ActiveX Data Objects (ADO) 连接并查询Microsoft Access数据库。这对于初学者来说是一个很好的起点,因为ADO提供了一个直观且功能强大的接口来操作数据库。 ...
2. **连接字符串**:在VC中,使用ADO连接数据库首先需要创建一个Connection对象,并通过ConnectionString属性设置连接字符串。连接字符串通常包含数据库类型、服务器名称、数据库名称、用户名和密码等信息。例如,...
【VC技巧与VC+ADO+Access数据库大全】涵盖了VC++编程中的多个重要知识点,主要集中在MFC消息映射机制、ADO数据库操作以及VC中的实用技巧。以下是对这些知识点的详细说明: 1. **MFC消息映射机制**: - 消息映射是...
**VC使用ADO连接ACCESS数据库初级入门实例** 在VC++编程中,访问数据库是常见的需求,尤其是在开发桌面应用程序时。ADO(ActiveX Data Objects)是Microsoft提供的一种数据访问接口,它使得程序员可以方便地与各种...
标题"ADO_VC.rar_ADO_access 数据库_ado c++_ado vc_vc ado"提及了几个关键概念:ADO(ActiveX Data Objects)、VC++(Visual C++)、Access数据库,以及它们在C++环境下的应用。这表明讨论的主题是使用ADO在VC++...
在VC++中使用ADO(ActiveX Data Objects)连接Access数据库是一项常见的任务,尤其对于初学者而言,这是一个很好的学习起点。ADO是Microsoft开发的一种数据访问接口,它提供了与各种数据库(如Access、SQL Server等...
在VC++开发环境中,利用ADO(ActiveX Data Objects)与ACCESS数据库进行交互是一种常见的实践,尤其是在处理简单数据存储和查询的场景下。本教程将详细讲解如何通过ADO在ACCESS数据库中存储和查询JPG图片。 首先,...
这是一个利用ado访问数据库的程序,对初学者有一定的借鉴作用-ado access to the database using the procedures for beginners a certain reference