WEB开发网
开发学院软件开发VC VC++6.0 中用 ADO 存取 Access 数据库的一点总结 阅读

VC++6.0 中用 ADO 存取 Access 数据库的一点总结

 2006-07-23 11:17:23 来源:WEB开发网   
核心提示: _RecordsetPtr Connection15::Execute ( _bstr_t CommandText,VARIANT * RecordsAffected,long Options )其中CommandText是命令字串,通常是SQL命令,VC++6.0 中用 ADO 存取 A

_RecordsetPtr Connection15::Execute ( _bstr_t CommandText,
                   VARIANT * RecordsAffected,
                   long Options )
其中CommandText是命令字串,通常是SQL命令。
参数RecordsAffected是操作完成后所影响的行数,
参数Options表示CommandText中内容的类型,Options可以取如下值之一:
adCmdText:表明CommandText是文本命令
adCmdTable:表明CommandText是一个表名
adCmdProc:表明CommandText是一个存储过程
adCmdUnknown:未知
      
例子:
_variant_t RecordsAffected;
m_pConnection->Execute("UPDATE users SET old = old+1",&RecordsAffected,adCmdText);   
5.调用存储过程

(1)、利用_CommandPtr

_CommandPtr  m_pCommand;
m_pCommand.CreateInstance(__uuidof(Command));
m_pCommand->ActiveConnection = m_pConnection; // 将库连接赋于它
m_pCommand->CommandText = "Demo"; 
m_pCommand->Execute(NULL,NULL, adCmdStoredProc);   
(2)、直接用_ConnectionPtr直接调用(见4.(2))

6.遍历数据库中的所有表名 _ConnectionPtr m_pConnect;
_RecordsetPtr pSet;
HRESULT hr;
try
{ 
  hr = m_pConnect.CreateInstance("ADODB.Connection");  
  if(SUCCEEDED(hr)) 
  { 
    CString dd; 
    dd.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s",file); 
    hr = m_pConnect->Open((_bstr_t)dd,"","",adModeUnknown); 
    pSet = m_pConnect->OpenSchema(adSchemaTables);   
    while(!(pSet->adoEOF)) 
    {    
      //获取表格  
      _bstr_t table_name = pSet->Fields->GetItem("TABLE_NAME")->Value;
      
      //获取表格类型    
      _bstr_t table_type = pSet->Fields->GetItem("TABLE_TYPE")->Value;
      
      //过滤一下,只输出表格名称,其他的省略
      if ( strcmp(((LPCSTR)table_type),"TABLE")==0){
        CString tt;
        tt.Format("%s",(LPCSTR)table_name);  
        AfxMessageBox(tt);    
      }   
      pSet->MoveNext();  
    } 
    pSet->Close(); 
  } 
  m_pConnect->Close(); 
}catch(_com_error e)///捕捉异常
{ 
  CString errormessage; 
  errormessage.Format("连接数据库失败!rn错误信息:%s",e.ErrorMessage());
  AfxMessageBox(errormessage);
  return -1;
}    
7.遍历一个表中的所有字段

上一页  1 2 3 4 5  下一页

Tags:VC 中用 ADO

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接