_variant_t 和 _bstr_t 分别是什么用处

xiaozi5230 2016-04-14 12:48:54
m_pRs->Open((_variant_t)sql,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);

m_pRs->Open((_bstr_t)sql,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);

MFC中做连接数据库的,_variant_t 和 _bstr_t 分别是什么用处。
...全文
124 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaozi5230 2016-04-14
  • 打赏
  • 举报
回复
引用 1 楼 yupeigu 的回复:
_variant_t是VARIANT的封装类,其赋值可以使用强制类型转换,其构造函数会自动处理这些数据类型。 _variant_t和_bstr_t这两个类分别封装并管理VARIANT和BSTR这两种数据类型, VARIANT和BSTR这两种类型是COM中使用的数据类型。 为了C++中的变量应用到ADO编程中,只能进行数据类型的转换。 通过_variant_t和_bstr_t这两个类,就可以方便的把C++类型变量转换成COM中的变量了 ADO是基于COM接口x实现的。因此它的使用对于正在进行的 COM编程的程序员而言更简单 COM是使用其特定的数据类型,_bstr_t是其中一种源类型 其他类型转换成_bstr_t可以直接赋值。
哥们,我给你私信了,你看下联系下我Q和电话,真心找你学SQL,价格详谈。
xiaozi5230 2016-04-14
  • 打赏
  • 举报
回复
你有Q吗,能不能留下电话,我私信你了,能不能加我。
LongRui888 2016-04-14
  • 打赏
  • 举报
回复
其实也就是说 _variant_t和_bstr_t 这两个是为了你在编写ADO连接数据库时用的,因为ADO是com接口,所以必须要用这两个封装的类型。 而两者的区别在于,前面的是变体类型,后面的是字符串类型,变体类型更加灵活,可以是任何的类型
LongRui888 2016-04-14
  • 打赏
  • 举报
回复
_variant_t是VARIANT的封装类,其赋值可以使用强制类型转换,其构造函数会自动处理这些数据类型。 _variant_t和_bstr_t这两个类分别封装并管理VARIANT和BSTR这两种数据类型, VARIANT和BSTR这两种类型是COM中使用的数据类型。 为了C++中的变量应用到ADO编程中,只能进行数据类型的转换。 通过_variant_t和_bstr_t这两个类,就可以方便的把C++类型变量转换成COM中的变量了 ADO是基于COM接口x实现的。因此它的使用对于正在进行的 COM编程的程序员而言更简单 COM是使用其特定的数据类型,_bstr_t是其中一种源类型 其他类型转换成_bstr_t可以直接赋值。

662

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧