从数据库查询数据返回DataTable的时候
我们总会遇见DataRow["index"] 会为DBNull.value的问题如果字段为string的话 我现在直接 as string
如果为int、double字段的话  我会重新写个方法先Convert.isDBNull()判断 然后根据返回值判断是否转换请问关于 int、double的话 有不需要判断的什么方法嘛

解决方案 »

  1.   

    你可以定义成int?,可为空类型的
    http://msdn.microsoft.com/zh-cn/library/1t3y8s4s.aspx
      

  2.   

    在数据库里查询的时候sql 里可以写成:
    isnull(id(字段名),0)  如果为null ,就默认是0
      

  3.   

    本帖最后由 net_lover 于 2012-01-31 15:50:28 编辑
      

  4.   

    另外,
    Convert.ToInt32()是可以传入null值的,如int x = Convert.ToInt32(null)
      

  5.   

    DataRow传入的是DBNull对象 除了string 其他不能用Convert转换公共函数正是我目前所用的方法,难道没得更好的么
      

  6.   

    楼主请参考我的一篇文章http://blog.csdn.net/ireenter/article/details/6599521