关于数据库返回值为Null的问题int a = row.Field<int>("XXX")如果数据库中的XXX字段为NULL,这句话应该怎么写?
不能每个语句都写上:row.Field<object>("XXX") == null ? 默认值 : row.Field<int>("XXX")这样写也太麻烦了,有简单点的方法没有?

解决方案 »

  1.   

    去写个触发器在插入的时候就把NULL变成你想要的值可以不
      

  2.   

    sql的isnull()函数可以
    isnull(字段名,想要替换成的值)
      

  3.   

    用0替代ReportsTo列中的值: IsNull(ReportsTo,0) as ReportsTo
    如: string select = "SELECT EmployeeID, FirstName, LastName, Photo, IsNull(ReportsTo,0) as ReportsTo FROM Employees";
      

  4.   

    数据库查的时候就用isnull函数把null消除掉
      

  5.   

    简单的写法:
    row.Field <object>("XXX") == null ?? 默认值
      

  6.   

    不好意思发错了,应该是:
    string value = row.Field<string>("columnName") ?? "默认值";
      

  7.   

    有的哦。。
    忘了叫什麽了
    就是C#中int也可以放入Null型呀
    int? a = row.Field <int>("XXX");以後在操作a的時候可以用雙??號來判斷哦int b=a??5;//就是如果a是Null b就為5
    至於這兩句能不能和成一句int a = row.Field <int>("XXX")??5;我就不知道了。你試試吧。。
    這個屬於泛型的知識