3,245
社区成员
发帖
与我相关
我的任务
分享
#include"stdafx.h"
#include<iostream>
#include<iomanip>//for setw()
#include"windows.h"
using namespace std;
//导入ADO相关类说明,路径名可以根据自己系统安装的ADO支持文件的路径来自行设定
//#improt语句会在工程可执行程序输出目录中产生两个文件,分别为*.tlh(类型库头文件)及*.tli(类型库实现文件)
//语句no_namespace说明ADO对象不使用命名空间,rename("EOF", "EndOfFile")说明将ADO中结束标志EOF改为EndOfFile,以避免和其它库中命名相冲突
#import"C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","EndOfFile")
int i;
int _tmain(int argc,_TCHAR* argv[])
{
::CoInitialize(NULL);//初始化OLE/COM库环境,为访问ADO接口做准备
//_RecordsetPtr智能指针,可以用来打开库内数据表,并可以对表内的记录、字段等进行各种操作
_RecordsetPtr m_pRecordset("ADODB.Recordset");//定义记录集对象
//_ConnectionPtr智能指针,通常用于打开、关闭一个库连接或用它的Execute方法来执行一个不返回结果的命令语句
_ConnectionPtr m_pConnection("ADODB.Connection");//定义数据库连接对象
try
{
m_pConnection.CreateInstance("ADODB.Connection");//创建Connection对象
/*****************************************************************************************************************/
//设置连接字符串
_bstr_t strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Users\\peng\\Desktop\\BHG乐山店上报文件.mdb";
/*****************************************************************************************************************/
m_pConnection->Open(strConnect,"","",adModeUnknown);//NULL、adConnectUnspecified、//建立与服务器连接
if (m_pConnection ==NULL)
{
cerr<<"Lind data ERROR!\n";
}
m_pRecordset.CreateInstance(__uuidof(Recordset));//创建记录集对象
/*****************************************************************************************************************/
//在此输入查询条件
//m_pRecordset->Open("select [税号],[金额]from BHG卷票信息 where 日期'20120101' ",m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
m_pRecordset->Open("select *from 测试表名称",m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
/*****************************************************************************************************************/
for(i=0;i<=m_pRecordset->GetFields()->Count-1;i++)cout<<(_bstr_t)m_pRecordset->GetFields()->GetItem(long(i))->GetName()<<" ";//打印列名
cout<<"\n";
//查询结果
if (m_pRecordset->EndOfFile)
{
cout<<"无结果\n";
system("pause");
m_pRecordset->Close();//关闭记录集
::CoUninitialize();
return 0;
}
system("pause");
while (!m_pRecordset->EndOfFile)//打印记录
{
for(i=0;i<=m_pRecordset->GetFields()->Count-1;i++)cout<<(_bstr_t)m_pRecordset->GetCollect(m_pRecordset->GetFields()->GetItem(long(i))->GetName())<<" ";
cout<<"\n";
m_pRecordset->MoveNext();//移动下一条记录
}
m_pRecordset->Close();//关闭记录集
}
catch (_com_error e)//捕捉异常
{
cerr<<"\nERROR:"<<(char*)e.Description();//抛出异常
}
if (m_pConnection->State)
{
m_pConnection->Close();
}
::CoUninitialize();
system("pause");
return 0;
}