COLeVariant是数据库常用到的数据类型。它可以是字符串,整型值,日期等。知道怎样将它转换为CString。
COLeVariant类是对VARIANT结构的封装。它的构造函数具有极为强大的功能:
(1)当对象构造时首先调用VariantInit进行初始化,然后根据参数中的标准类型调用相应的构造函数,并使用VariantCopy进行转换赋值操作。
(2)当VARIANT对象不在有效范围时,它的析构函数就会被自动调用,由于析构函数调用了Variant Clear,因而相应的内存就会被自动清除。
COLVariant是数据库常用到的数据类型。它可以是字符串,整型值,日期等。知道怎样将它转换为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;//是布尔值
}