求救!_variant_t 转化

anufa 2004-05-05 11:19:09
sql下我的字段为datatime类型
用GetCollect()得到的 _variant_t 类型
我如何才能将它转换成 CString 或 CTime 类型。
大家帮帮我吧,
...全文
54 9 点赞 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
laker_tmj 2004-05-07
up learn
  • 打赏
  • 举报
回复
狂放之歌 2004-05-06
mark..
  • 打赏
  • 举报
回复
aspnetwuxueyou 2004-05-05
use ChangeType member
  • 打赏
  • 举报
回复
aspnetwuxueyou 2004-05-05
_variant_t vtVal;
vtVal.vt = VT_R8;
vtVal.dblVal = 123456789012.1234;
vtVal.ChangeType(VT_DECIMAL);
  • 打赏
  • 举报
回复
swbreath 2004-05-05
好办
COleDateTime time1=(COleDateTime)(_variant_t)var;
然后使用COleDateTime的Format函数转化成字符串
  • 打赏
  • 举报
回复
uynix 2004-05-05
以前见到的别人写的一个函数,希望能对你有用~~~~
CString VariantToCString(VARIANT var)
{
CString strValue;
_variant_t var_t;
_bstr_t bst_t;
time_t cur_time;
CTime time_value;
COleCurrency var_currency;
switch(var.vt)
{
case VT_EMPTY:strValue=_T("");break;
case VT_UI1:strValue.Format ("%d",var.bVal);break;
case VT_I2:strValue.Format ("%d",var.iVal );break;
case VT_I4:strValue.Format ("%d",var.lVal);break;
case VT_R4:strValue.Format ("%f",var.fltVal);break;
case VT_R8:strValue.Format ("%f",var.dblVal);break;
case VT_CY:
var_currency=var;
strValue=var_currency.Format(0);
break;
case VT_BSTR:
var_t=var;
bst_t=var_t;
strValue.Format ("%s",(const char*)bst_t);
break;
case VT_NULL:strValue=_T("");break;
case VT_DATE:
cur_time=(long)var.date;
time_value=cur_time;
strValue=time_value.Format("%A,%B%d,%Y");
break;
case VT_BOOL:strValue.Format ("%d",var.boolVal );break;
default:strValue=_T("");break;
}
return strValue;
}
  • 打赏
  • 举报
回复
szclm 2004-05-05
//获得字段值
_variant_t var=m_DBRecordSet.GetFieldValue(4);
//把所在类型转达成字符型
::VariantChangeType(&var,&var,0,VT_BSTR);
CString str=var.bstrVal;
  • 打赏
  • 举报
回复
Kudeet 2004-05-05
设置_variant_t 里的数据类型
  • 打赏
  • 举报
回复
anufa 2004-05-05
很谢谢大家,
vtVal.vt = VT_R8; ///是什么意思?

我在数据库中把身份证设为 numeric(18 ),
可我用 _variant_t 转化成数值型,要发生益处,又不知道该怎么做了
  • 打赏
  • 举报
回复
相关推荐
发帖
数据库
加入

3957

社区成员

VC/MFC 数据库
申请成为版主
帖子事件
创建了帖子
2004-05-05 11:19
社区公告
暂无公告