_variant_t 转换为CString时,在结束程序时,总是报内存泄露

fly2010love 2015-06-27 11:14:24
_variant_t 转换为CString时,在结束程序时,总是报内存泄露

CString str= _T("");
_variant_t vtFld;

vtFld = m_pRecordset->Fields->GetItem(lpFieldName)->Value;
switch(vtFld.vt)
{
case VT_BSTR:
{
str = vtFld.bstrVal; // 总是指向这里有错!!!!??????
}
break;
...全文
163 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
处处留心 2015-06-30
  • 打赏
  • 举报
回复
引用 6 楼 zhao4zhong1 的回复:
[quote=引用 5 楼 lis2012 的回复:] 检查一下 vtFld.vt==VT_EMPTY || vtFld.vt==VT_NULL, 一定是返回值为空造成的
一看就是过来人。[/quote] 看来我的编程习惯不错,发现不了这个问题
fly2010love 2015-06-29
  • 打赏
  • 举报
回复
你这里也是:= (LPCTSTR)(_bstr_t)var;
赵4老师 2015-06-29
  • 打赏
  • 举报
回复
引用 5 楼 lis2012 的回复:
检查一下 vtFld.vt==VT_EMPTY || vtFld.vt==VT_NULL, 一定是返回值为空造成的
一看就是过来人。
lis2012 2015-06-29
  • 打赏
  • 举报
回复
检查一下 vtFld.vt==VT_EMPTY || vtFld.vt==VT_NULL, 一定是返回值为空造成的
zyq5945 2015-06-27
  • 打赏
  • 举报
回复
zyq5945 2015-06-27
  • 打赏
  • 举报
回复
我给你的是链接啊。
fly2010love 2015-06-27
  • 打赏
  • 举报
回复
百度 : ADO中_variant_t变量的使用与转换 说是要 strValue = (LPCTSTR)(_bstr_t)var; 我试过也没用

4,012

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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