备忘:ado数据连接

ado是建立在oledb上的。

三种ado数据连接:

   CoInitialize(NULL);

  _ConnectionPtr pConn(__uuidof(Connection));
  _RecordsetPtr pRst(__uuidof(Recordset));
  _CommandPtr pCmd(__uuidof(Command));

pConn->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=pubs.mdb;Persist Security Info=False"; 
pConn->Open("","","",adConnectUnspecified);

1:pRst=pConn->Execute("select * from authors",NULL,adCmdText);

2:pRst->Open("select * from authors",_variant_t((IDispatch*)pConn);

3:pCmd->put_ActiveConnection(_variant_t((IDispatch*)pConn));
  pCmd->CommandText="select * from CParameter";
  pRst=pCmd->Execute(NULL,NULL,adCmdText);

功能:

 while(!pRst->rsEOF)
  {
   ((CListBox*)GetDlgItem(IDC_LIST1))->AddString(
    (_bstr_t)pRst->GetCollect("Address"));
   pRst->MoveNext();
  }

末了:

 pRst->Close();
  pConn->Close();
  pCmd.Release();
  pRst.Release();
  pConn.Release();
 CoUninitialize();

 

异常捕获:

catch(_com_error &e)
 {
  CString err;
  err.Format("%s",(char *)(e.Description()));
  AfxMessageBox(err);
 }
 catch (CMemoryException* e)
 {
  TCHAR   szCause[255];//用char和tchar都可以
  CString strFormatted;
  e->GetErrorMessage(szCause, 255);
  
  strFormatted = _T("The data file could not be opened because of this error: ");
  strFormatted += szCause;
  
  AfxMessageBox(strFormatted);

   }

 

 

 

转载于:https://www.cnblogs.com/oskycar/archive/2009/08/10/1542876.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值