社区
数据库
帖子详情
在ADO中如何把VT_DECIMAL类型的数据转化成double。
Ji秋风
2005-01-14 10:54:42
_variant_t var;
double val;
val = (double)var;
这样直接转换吗?今天我看到有代码不是这样转,不知正确的应该是怎样转换的。
...全文
382
7
打赏
收藏
在ADO中如何把VT_DECIMAL类型的数据转化成double。
_variant_t var; double val; val = (double)var; 这样直接转换吗?今天我看到有代码不是这样转,不知正确的应该是怎样转换的。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Ji秋风
2005-01-14
打赏
举报
回复
VT_DECIMAL --> 16 byte fixed point
可以这样转化?
FlyNesta
2005-01-14
打赏
举报
回复
case VT_DECIMAL:
strValue.Format("%d",var.decVal );
break;
Ji秋风
2005-01-14
打赏
举报
回复
VT_DECIMAL 与 VT_R8 是不同的数据类型吧。
FlyNesta
2005-01-14
打赏
举报
回复
应该是类似VT_R8的转换
Ji秋风
2005-01-14
打赏
举报
回复
怎么没包含VT_DECIMAL转换成string的?
bohut
2005-01-14
打赏
举报
回复
给你一个函数可以将VARIANT型数据转成CString
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;
}
。。。。。。
oyljerry
2005-01-14
打赏
举报
回复
直接double类型转换也可以
ADO
读取oracle
VT
_
DECIMAL
类型
::CoInitialize(NULL); //COM库初始化 Database db; if(false == db.Open("Provider=OraOLEDB.Oracle.1;Password=ZBH;Persist Security Info=True;User ID=ZBH;Data Source=192.168.10.221:1521/orcl")) { ::CoUninitialize(); printf("数...
ADO
数据
类型
_bstr_t 和_variant_t
_bstr_t是BSTR_T这个
数据
类型
对应的类 _variant_t是VARIANT这个
数据
类型
的封装 Microsoft Specific Constructs a _bstr_t object. _bstr_t( ) throw( ); _bstr_t( const _bstr_t& s1 ) throw( ); _bstr_t(
ADO
中
_variant_t变量的使用与转换
下载 源代码用
ADO
做
数据
库,有个麻烦的事情就是_variant_t变量的使用,使用本例
中
封装的CConvert类转换就方便了。 // Convert.h: interface for the CConvert class.//////////////////////////////////////////////////////////////
_variant_t与其他
数据
类型
的转换
转自:http://kuaixingdong.blog.hexun.com/29627840_d.html 我们先看看COM所支持的一些
类型
的基本类: (微软提供,在comdef.h
中
定义) 在COM
中
使用的标准类Class如下所示: _bstr_t:对BSTR
类型
进行打包,并提供有用的操作和方法; _com_error:定义抛出的error对象; _com_ptr_t:封装COM接口
SafeArray
1.作用 SafeArray是VB
中
的数组存储方式。通过SafeArray,可以在VC++和VB间相互调用 在
ADO
编程
中
经常使用。 主要目的是用于automation
中
的数组型参数的传递。因为在网络环境
中
,数组是不能直接传递的,而必须将其包装成SafeArray。 实质上SafeArray就是将通常的数组增加一个描述符,说明其维数、长度、边界、元素
类型
等信息。 SafeArray也并不单独使用,而是将其再包装到VARIANT
类型
的变量
中
,然后才作为参数传送出去。 在VARIANT的
vt
成员的.
数据库
4,011
社区成员
39,816
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章