short nFields = rs.GetODBCFieldCount( );
CDBVariant varValue;

while( !rs.IsEOF( ) )
{
   for( short index = 0; index < nFields; index++ )
   {
  rs.GetFieldValue( index, varValue );    }
   
   rs.MoveNext( );
}

解决方案 »

  1.   

    COleVariant v ;
    COleDateTime dt;
    CString s1,s2,s3;
    for (i1=0;i1<i;i1++){
    v=rs->GetFieldValue( i1 );
    switch ( v.vt) {
    case VT_I4: //long
    s2.Format("%d",v.lVal );
    s1=s1+s2+",";
    break;
    case VT_I2: //int
    s2.Format("%d",v.iVal );
    s1=s1+s2+",";
    break;
    case VT_DATE://日期
    dt.m_dt = v.date ;
    if(IsAccess)
    s2.Format("#%s#",dt.Format("%Y-%m-%d"));
    else
    s2.Format("'%s'",dt.Format("%Y-%m-%d"));
    s1=s1+s2+",";
    break;
    case VT_BSTR: //Text类
    s2.Format("%s",v.bstrVal  );
    s3 = sreplace(s2);
    s1=s1+"'"+s3+"'"+",";
    break;
    }
    }
      

  2.   

    请教!IsAccess是判断日期的什么?("#%s#")('%s')有什么不同?
      

  3.   

    是判断数据库是否是Access或是SQL SERVER ,在日期的表示上,Access与SQL SERVER 是不同的
      

  4.   

    可以用printf显示在concole平台上