您的位置:首页 > 其它

COleVariant与常用基本数据类型之间的转换(转)

2011-03-22 15:41 316 查看

【ZZ】COleVariant与常用基本数据类型之间的转换

COleVariant是数据库常用到的数据类型。它可以是字串,整型值,日期等。知道怎样将它转换为CString很有用处。

设有CString A; COleVariant B; 来看看怎样将COleVariant转换为CString:

switch(B.vt){

case VT_BSTR: A=V_BSTRT(&B); break;//COleVariant是一个字串

case VT_I2: A.Format(_T("%hd"),V_I2(&B));break;//是短整型

case VT_I4: A.Format(_T("%d"),V_I4(&B));break;//是长整型

case VT_R4: A.Format(_T("%e"),(double)V_R4(&B));break;//是浮点数

case VT_R8: A.Format(_T("%e"),V_R8(&B));break;//是浮点数

case VT_CY: A=COleCurrency(B).Format();break;//是货币值

case VT_DATE: A=COleDateTime(B).Format("%Y-%m-%d");break;//是日期

case VT_BOOL: A=V_BOOL(&B)?"True":"False";break;//是布尔值

}

//----------------------------------------------------------------------------------------------------------
我发现 A=V_BSTRT(&B); 只能传递一个字符,有问题。
用下面这个方法,两句话就直接可以解决。哈哈,有时网上的东西还是要思考下
B.ChangeType(VT_BSTR);
A=B.bstrVal;

若转换成BOOL类型,则A=B.boolVal;

详细内容参考MSDN
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: