VC ADO链接ACCESS数据库

#include "stdafx.h"
#include <iostream>
using namespace std;
#import "c:\program files\common files\system\ado\msado15.dll" \
 no_namespace rename ("EOF", "adoEOF") 

int _tmain(int argc, _TCHAR* argv[])
{
 _ConnectionPtr m_conptr;
 CoInitialize(NULL);
 m_conptr.CreateInstance(__uuidof(Connection));
 try
 {
  m_conptr->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\exercise++++\\MFC\\MultiLang.mdb;Jet OLEDB:DataBase Password=\"BroadMobi\" ","","",adModeUnknown);
 }
 catch(_com_error e)
 {
  cout<<"数据库连接失败,确认数据库db1.mdb是否在当前路径下!"<<endl;
  return FALSE;
 }
 _RecordsetPtr m_recordptr;
 m_recordptr.CreateInstance(__uuidof(Recordset));
 try
 {
  m_recordptr->Open("SELECT * FROM MultiLangString",m_conptr.GetInterfacePtr(), adOpenDynamic,
   adLockOptimistic,adCmdText);

 }
 catch(_com_error e)
 {
  cout<<"record error!!!!"<<endl;
 }
 _variant_t var;
 char *strID,*strX,*strY;
 float  X,Y;
 try
 {
  if (!m_recordptr->BOF)
  {
   m_recordptr->MoveFirst();
  }
  else
  {
   cout<<"shuju kong!!!!"<<endl;
   return FALSE;
  }
 }
 catch(_com_error e)
 {
  cout<<"shuju kong!!!!"<<endl;
  return FALSE;
 }
 int x = 0;
 while(!m_recordptr->adoEOF)
 {
  var = m_recordptr->GetCollect("StrID");
  if (var.vt != VT_NULL)
  {
   strID = _com_util::ConvertBSTRToString((_bstr_t)var);
  }
  var = m_recordptr->GetCollect("English");
  if (var.vt != VT_NULL)
  {
   strX = _com_util::ConvertBSTRToString((_bstr_t)var);
  }
  var = m_recordptr->GetCollect("Portuguese");
  if (var.vt != VT_NULL)
  {
   strY = _com_util::ConvertBSTRToString((_bstr_t)var);
  }
  cout<< strID <<"==="<<strX <<"==="<<strY<<endl;
  m_recordptr->MoveNext();
  x++;
 }


 cout<<x<<"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<<endl;

m_recordptr->Close();
 m_recordptr  = NULL;

 if (m_conptr->State)
 {
  m_conptr->Close();
  m_conptr = NULL;
  cout<<"释放数据库"<<endl;
 }


 while(true);

 


 return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值