用ADO怎么处理数据库出现的空值?

iwlla 2006-04-27 05:48:02
小弟刚刚遇到的一个问题,比如一个表有name和value两项,类型都为CString,name是主键不能为空,Value可以为空
如果有以下代码:
_RecordsetPtr rs;
CString temp=(char*)(_bstr_t)(rs->Fields->GetItem(_variant_t("value"))->Value);
这时发现如果value为空值就会出错,问请有什么解决的方法么?
...全文
214 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xkbbs 2006-04-28
  • 打赏
  • 举报
回复
要么是你变量类型:_variant_t定义写错了

_variant_t var;
CString strtemp;

if(var.vt==VT_NULL)
strtemp="";
else
strtemp.Format("%s",(char*)_bstr_t(var));

楼上的说的没错
handsomerun 2006-04-27
  • 打赏
  • 举报
回复
???
还有这样的故事????

看看是不是表达式有问题

应该就是这样做的,呵呵

http://www.vckbase.com/document/viewdoc/?id=215
看看这个
iwlla 2006-04-27
  • 打赏
  • 举报
回复
不行啊,编译器说操作符!=有二义性,我换成==也不行
handsomerun 2006-04-27
  • 打赏
  • 举报
回复
rs->Fields->GetItem(_variant_t("value"))->Value

你是这个,一样的,返回_variant_t
handsomerun 2006-04-27
  • 打赏
  • 举报
回复

_variant_t var;

var=m_set->GetCollect("字段名");

if(var.vt!=VT_NULL)
{
CString temp = (LPCSTR)_bstr_t(var);

}

4,011

社区成员

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

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