我想取数据库中的时间,就是FIELD的值,SQLSERVER数据库(datetime)型
用ADO连接,取别的类型没有问题,
代码如下:
    varName = _variant_t("sCallerID");
    var = m_pRecordset->GetCollect(varName);
    strCallerID = (LPCTSTR)_bstr_t(var);
    strCallerID.TrimRight();
    varName = _variant_t("sLinkChannel");
    var = m_pRecordset->GetCollect(varName);
   strLinkChannel = (LPCTSTR)_bstr_t(var);
  var =  m_pRecordset->Fields->GetItem(LPCTSTR("CallTime"))->Value;
//////*********************************
  switch(var.vt) 
{
   case VT_DATE:
{
    COleDateTime dt(var);
   if(strTime.IsEmpty())
  strTime = _T("%Y-%m-%d %H:%M:%S");
CString str = dt.Format(strTime);
 /*  time = COleDateTime(_variant_t(var));
strTime.Format("%02d-%02d-%02d %02d:%02d:%02d",time.GetYear(),time.GetMonth(),time.GetDay(),time.GetHour(),time.GetMinute(),time.GetSecond());*/
   }
break;
       case VT_EMPTY:
       case VT_NULL:
        time.SetStatus(COleDateTime::null);
strTime = "NULL";
         break;
       default:
   return ;
}

}

解决方案 »

  1.   


    其实代码就是这个,我想取数据库FIELD的时间,可总不能成功,WHY?
    switch(var.vt) 
    {
       case VT_DATE:
    {
        COleDateTime dt(var);
       if(strTime.IsEmpty())
      strTime = _T("%Y-%m-%d %H:%M:%S");
    CString str = dt.Format(strTime);
     /*  time = COleDateTime(_variant_t(var));
    strTime.Format("%02d-%02d-%02d %02d:%02d:%02d",time.GetYear(),time.GetMonth(),time.GetDay(),time.GetHour(),time.GetMinute(),time.GetSecond());*/
       }
    break;
           case VT_EMPTY:
           case VT_NULL:
            time.SetStatus(COleDateTime::null);
    strTime = "NULL";
             break;
           default:
       return ;
    }

    }
      

  2.   

    _variant_t birthday = m_pRecordset->GetCollect("Birthday");
    COleDateTime time1=(COleDateTime)(_variant_t)birthday;
    time1.Format("%Y-%M-%D");
    str.Format("%d-%d-%d",time1.GetYear(),time1.GetMonth(),time1.GetDay());我这么做行(没判断VT)
      

  3.   

    _variant_t birthday = m_pRecordset->GetCollect("Birthday");
    COleDateTime time = birthday;
    CString str = time.Format("%Y-%m-%d");想简单一点,可以这样写!试试看,祝你成功!
      

  4.   

    还是不行,是不是我数据库里面的类型有问题
    SQLSERVER数据库(datetime)