_bstr_t和_variant_t

_variant_t和_bstr_t是用于封装COM中VARIANT和BSTR数据类型的类。在VC中使用ADO连接数据库时,这些类帮助实现从C++类型到COM类型的数据转换,例如使用_bstr_t作为SQL语句的输入参数,获取的记录集字段则为_variant_t类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文来自:http://blog.sina.com.cn/s/blog_5f7dc62e0100dowp.html

担心以后找不到 故而转载

_bstr_t和_variant_t
 
_variant_t和_bstr_t这两个类分别封装并管理VARIANT和BSTR这两种数据类型,VARIANT和BSTR这两种类型是COM中使用的数据类型。为了C++中的变量应用到ADO编程中,只能进行数据类型的转换。_variant_t和_bstr_t这两个类,就可以方便的把C++类型变量转换成COM中的变量了.
 
vc中利用ADO连接数据库时,进入数据库,利用open方法时,第一个参数数据类型为_bstr_t
m_pRecordset->Open(_bstr_t(sql), m_pConnection.GetInterfacePtr(),
   adOpenDynamic, adLockOptimistic, adCmdText);  //执行SQL得到记录集
得到记录集数据时数据类型为varient_t
varient_t m_dirno = m_pRecordset->GetFields()->GetItem((long)0)->Value;//类型号
所以类型转换为
CString sql;
_bstr_t(sql),
varient_t m_dirno
 得到的结果变CSting型:
CString   dirname=(TCHAR*)(_bstr_t)m_dirname ;
得到的结果变int型
 int  dirno=atoi((TCHAR*)(_bstr_t)m_dirno);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值