在ACCESS数据库中有一属性为Re,可以有空值,即不填。但在vc下的CList控件
      m_list.SetItem(nindex,11,1,(_bstr_t)DataSet.GetFields()->Item["Re"]->Value,NULL,0,0,0);//0不显示,1显示   
会使程序发生异常,但只要我把Access中的空值都填上就可以了,我想问下,怎样解决即使ACCESS中有空值,程序可以将有值的取出来显示,没值的就在CList上不显示了

解决方案 »

  1.   

    伪代码,具体自己查手册if (字段值 == DBNULL )   setitem("")else
      
      setitem (value)
      

  2.   

    查询的时候用IsNull(Re,'') AS Re替代原来的Re
    这个是sql里面用的,access不知道是不是也是这样
      

  3.   

    _variant_t Holder;
    Holder=m_pADOSet->GetCollect("DatebaseItem");
    str=Holder.vt==VT_NULL? " ":(char*)(_bstr_t)Holder;
    m_ListCtrl.InsertItem(i,str);
    /*----------------------------
    上面的代码是判断从数据库中读出的数据为VT_NULL时,用空字符串填充列表。
    ------------------------------*/