一个关于_bstr_t的问题

jaopen 2006-03-13 03:02:52
从CQ(一种需求变更处理软件)提供的接口访问它的数据库,其中数据库的一个字符串字段有时值为NULL,从接口读到的这个字段的值为_bstr_t类型的,谁知道如何判断这个NULL值?无论用convertBSTRtoString()还是string=bstr_t都报Exception
...全文
115 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jaopen 2006-03-14
  • 打赏
  • 举报
回复
谢谢,有个GetValueStatus(),多谢你的帮助!
handsomerun 2006-03-14
  • 打赏
  • 举报
回复
对不起,没看清楚你的帖子?问个问题:那个地方为什么要用GetCollect(XXXX);
而不是FieldInfoPtr->GetValue(),好像只有这样才能得到字段值啊?

那是因为访问数据库用的接口不一样啊,你的那个可能是木有GetCollect的
handsomerun 2006-03-14
  • 打赏
  • 举报
回复
你的接口中
有GetStatus
这个方法吗??

要先判断那个字段时候是否是空~
jaopen 2006-03-14
  • 打赏
  • 举报
回复
首先表示非常感谢,我此处通过CQ接口得到的字段值是_bstr_t类型,不是_variant_t类型,就_bstr_t类型,怎么判断其值为NULL?
jaopen 2006-03-14
  • 打赏
  • 举报
回复
对不起,没看清楚你的帖子?问个问题:那个地方为什么要用GetCollect(XXXX);
而不是FieldInfoPtr->GetValue(),好像只有这样才能得到字段值啊?
handsomerun 2006-03-14
  • 打赏
  • 举报
回复
你也看清楚偶的回复

(vxx.vt != VT_NULL)
用这个可以判断是否为空
但是这个vxx是
_variant_t ,所以要判断以后再转~~
jaopen 2006-03-14
  • 打赏
  • 举报
回复
看清楚我的问题!!!!!不是没法转换,而是原先的字段为NULL值所以转换有问题!
handsomerun 2006-03-13
  • 打赏
  • 举报
回复
_variant_t vxx,
vxx = m_pRecordset->GetCollect(XXXX);

if(vxx.vt != VT_NULL)
{

}
可以用(_bstr_t)vxx

把_variant_t转成_bstr_t
jaopen 2006-03-13
  • 打赏
  • 举报
回复
这对我的问题有什么用?
wawaku 2006-03-13
  • 打赏
  • 举报
回复
_bstr_t bstrVar("test");
const char *buf = bstrVar;

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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