为什么我得到的总是当前时间?
我想取数据库中的时间,就是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 ;
}
}
问题点数:40、回复次数:5Top
1 楼lsp5i5j(星辰->女人在哪)回复于 2004-05-03 23:07:10 得分 0
其实代码就是这个,我想取数据库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 ;
}
}
Top
2 楼lsp5i5j(星辰->女人在哪)回复于 2004-05-03 23:07:40 得分 0
上面俩种方法都没取成功Top
3 楼anufa(阿羽)回复于 2004-05-07 12:12:01 得分 5
_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)Top
4 楼zhonglingqqxh(扫帚的影子)回复于 2004-05-07 12:52:48 得分 35
_variant_t birthday = m_pRecordset->GetCollect("Birthday");
COleDateTime time = birthday;
CString str = time.Format("%Y-%m-%d");
想简单一点,可以这样写!
试试看,祝你成功!Top
5 楼lsp5i5j(星辰->女人在哪)回复于 2004-05-07 14:32:33 得分 0
还是不行,是不是我数据库里面的类型有问题
SQLSERVER数据库(datetime)Top




