2003,vc。net ado连oracle,CString sSql = _T("");
sSql.Format(_T("SELECT DISTINCT ID from PERM.wm_product where prd_gid='%s' and providercode = '%s' "),
pSapStorage->szProduceCode,pSapStorage->szProvidCode);m_ADORs.Open(_variant_t ((LPCTSTR)sSql),
_variant_t (pApp->m_ADOConn.m_lpDispatch),
adOpenForwardOnly, 
adLockOptimistic,
adCmdText); if(!m_ADORs.get_EOF() && !m_ADORs.get_BOF())
{
    CADOFields fields = m_ADORs.get_Fields();
    CString sPrd,sPro;
    CADOField field = fields.get_Item( _variant_t( "ID" ) );
    _variant_t varVal = field.get_Value();
   if(varVal.vt = VT_DECIMAL)
      pSapStorage->lProductId= varVal.lVal;
}if(m_ADORs.get_State() == adStateOpen)
   m_ADORs.Close();这段读取数据正常//但应该有问题,因为他导致下面SetText无法正常给控件付值,
如果把上边那段代码去掉,下面就可以正常显示,
VARIANT varTitle;
VariantInit( &varTitle );
varTitle.vt = VT_BSTR | VT_BYREF;
varTitle = (_variant_t)sTitle.AllocSysString();
m_fpgridGoods.SetText(2, nOldHdrRow, varTitle);有谁做过类似的东西,给说说,在线等。