CDaoDatabase db;
COleVariant varCountType;
char strTmp[30]; db.Open (_T(".\\mtrace.mdb"));
CDaoRecordset rs(&db);
rs.Open(dbOpenDynaset,statements); m_Combo_ID.AddString("所有事件");
while(!rs.IsEOF())
{
      varCountType = rs.GetFieldValue("EventType");
  sprintf(strTmp,"%S",V_I4(&varCountType));  //字符串,这句该怎么写?
  m_Combo_ID.AddString((LPCSTR)strTmp);
  rs.MoveNext();
}
rs.Close();
db.Close ();

解决方案 »

  1.   

    varCountType = rs.GetFieldValue("EventType");
      sprintf(strTmp,"%S",V_I4(&varCountType)); 
    改为:
      varCountType = rs.GetFieldValue("EventType");
      if(VT_BSTRT =varCountType.vt )
    {
        strTemp = varCountType.bstrVal;
    }
      

  2.   

    CString str;
    rs.GetFieldValue("EventType",)
     varCountType = rs.GetFieldValue("EventType");
      

  3.   

    CString strSN;
    strSN.Format("%s",(rs.GetFieldValue("EventType")).bstrVal);
    //strSN就是你需要的CString类型!
      

  4.   

    VARIANT * vFieldValue;COleVariant covFieldValue;Cstring Holder;while(!MySet->IsEOF()){MySet->GetFieldValue("FIELD_1", covFieldValue);vFieldValue = (LPVARIANT)covFieldValue;if(vFieldValue->vt!-VT_NULL){Holder.Format("%s",vFieldValue->pbVal);m_List.AddString(Holder); }