ACCESS 中字段说明的提取

本文介绍了一种通过ADODB接口使用SafeArray传递参数至Oracle数据库的方法,具体展示了如何设置SafeArray并调用OpenSchema方法获取数据库表结构信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  //测试代码 add by on [2009-7-22]+
  //FOR:
  CString sTableName = "Fine_Mzbase";
  CString sFieldName = "drill_id";

  SAFEARRAY   FAR*   psa   =   NULL;  
  SAFEARRAYBOUND   rgsabound;  
  _variant_t     var;  
  _variant_t     Array;  
  rgsabound.lLbound   =   0;  
  rgsabound.cElements   =   4;  
  psa   =   SafeArrayCreate(VT_VARIANT,   1,   &rgsabound);  
  var.vt   =   VT_EMPTY;  
  long   ix;  
  ix   =   0;  
  SafeArrayPutElement(psa,   &ix,   &var);  

  ix=   1;  
  SafeArrayPutElement(psa,   &ix,   &var);  

  ix   =   2;  
  var.vt   =   VT_BSTR;  
  var.bstrVal   =sTableName.AllocSysString();//表名  
  SafeArrayPutElement(psa,   &ix,   &var);  

  var.vt   =   VT_BSTR;  
  ix   =   3;  
  var.bstrVal   =sFieldName.AllocSysString();//字段名  
  SafeArrayPutElement(psa,   &ix,   &var);  

  Array.vt   =   VT_ARRAY|VT_VARIANT;  
  Array.parray   =   psa;    

  CADODatabase *pDatabase = g_pConnectOra_With_OraOLEDB;

  CADORecordset   pRstSchema /*= pDatabase->Open()*/;

  pRstSchema.m_pRecordset = pDatabase->m_pConnection->OpenSchema(adSchemaColumns,&Array);

  //pZKSapMzSet->OpenSchema(adSchemaColumns,&Array);

  _bstr_t   column_name   =   pRstSchema.m_pRecordset->Fields->GetItem("COLUMN_NAME")->Value;  
  _bstr_t   column_discription=   pRstSchema.m_pRecordset->Fields->GetItem("DESCRIPTION")->Value; 

  //pZKSapMzSet->OpenSchema(adSchemaColumns);

  //int nFieldCount = pZKSapMzSet->GetFieldCount();
  //int nRecordCont = pZKSapMzSet->GetRecordCount();

  //CADOFieldInfo fileInfo;
  //CString sVall;
  //_variant_t vtValue;
  //
  ////for (int ii = 0 ; ii <nFieldCount; ii ++)
  //{
  // pZKSapMzSet->GetFieldInfo("DESCRIPTION"/*ii*/, &fileInfo);

  // nRecordCont = pZKSapMzSet->GetRecordCount();

  // pZKSapMzSet->MoveFirst();

  // while (!pZKSapMzSet->IsEOF())
  // {
  //  pZKSapMzSet->GetFieldValue("DESCRIPTION"/*ii*/, vtValue/*sVall*/);
  //  pZKSapMzSet->MoveNext();
  // }   
  //}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值