if(ds.Tables [0].Rows .Count >0) {
........
}else
{
messagebox.show("没有记录");
}
-------------------------------------
dataset返回值是null,得到count=1,所以count>0,不能跳到else的提示
想问问怎么判断dataset返回为null,然后到else去。
(if (ds==null)试过了,也不行)
很是郁闷,有高人告诉下

解决方案 »

  1.   

    dataset返回值是null, 这句不对吧, 如果是null, 直接就报错未将对象引用设置到对象实例了
      

  2.   

    不知道你出都什么问题
    如果ds为null的话,
    ds.Tables [0]这个代码就会报错了
    =========
    你把你都代码都贴出来把
      

  3.   

    count=1就是有记录了,当count=0就会进入eles
      

  4.   

    if(ds!=null  && ds.Tables.Count>0 &&  ds.Tables [0]!=null && ds.Tables [0].Rows .Count >0) 

    ........ 
    } else 

    messagebox.show("没有记录"); 
    }   
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
      

  5.   

    我解释下问题table
           t1   t2     t3
    r1     a    null   bselect t2 from table 
    查询结果是null
    返回count=1
    我想返回怎么得到0
      

  6.   

    在SQL中
    Select ISNULL(t2,0) AS t2 from table或者在代码中判断if(ds!=null  && ds.Tables.Count>0 &&  ds.Tables [0]!=null && ds.Tables [0].Rows .Count >0) 

        if (ds.Tables[0].Rows[0]["t2"] is DBNull)//ds.Tables[0].Rows[0]["t2"] == DBNull.Value
    } else 

    messagebox.show("没有记录"); 

      

  7.   

    问题说的不够清楚啊
    你是ds是null 还是ds.Tables[0]里保存的记录是NULL值啊?
    如果是ds == null 上面的表达式会抛出异常,true和false都不会执行.如果记录是NULL值,你的count就是1 
    代码好像没问题,你程序设计的有问题吧if(ds != null && ds.Tables.Count > 0 && ds.Tables[0] != null && ds.Tables[0].Rows .Count > 0) 

        if (ds.Tables[0].Rows[0]["t2"] is DBNull) messagebox.show("记录值为NULL");
    } else 

        messagebox.show("没有记录"); 

      

  8.   

    反正按楼上的几位做,能得到你想要的结果了
    可是二楼的:dataset返回值是null, 这句不对吧, 如果是null, 直接就报错未将对象引用设置到对象实例了 
    为什么 没报错。。研究下
      

  9.   

    为NULL时一定会报错的,我们可能误解楼主的问题了,
    楼主的DATASET是不是返回一条记录为NULL的记录了