如题,出现这个错误,部分代码如下,麻烦各位帮看下..Police1 lb2;
            lb2 = (Police1)Context.Handler;
            Label17.Text = lb2.ID;            DataClasses1DataContext db = new DataClasses1DataContext();
            var tt = from o in db.Illegal_things
                     // where o.流水号 == lb1.ID
                    select o;
            Label18.Text = (tt.FirstOrDefault(o =>o.流水号 == lb2.ID).报案时间).ToString(); //在这一段报错

解决方案 »

  1.   

    那就是没有这条记录呗,看lb2.ID什么值,数据库里有没有
      

  2.   

    而且应该用single或者singleordefault
      

  3.   

    tt.FirstOrDefault(o =>o.流水号 == lb2.ID).报案时间
    --------------
    你确定你的  o =>o.流水号 == lb2.ID   条件有对应的记录吗?
      

  4.   

    你确定你的  o =>o.流水号 == lb2.ID   条件有对应的记录吗?
      

  5.   

     Label18.Text = (tt.FirstOrDefault(o =>o.流水号 == lb2.ID).报案时间).ToString(); //在这一段报错
    1.如果lb2.ID值为空,则==一个空值会报错。。2.tt.FirstOrDefault(o =>o.流水号 == lb2.ID).报案时间 值为空,你后面加上.ToString()
    也会报错所以。。你要在这句前面加上判断
    如:if(lb2.ID != null)
    {
        if(tt.FirstOrDefault(o =>o.流水号 == lb2.ID).报案时间 != null  )
       {
            Label18.Text = (tt.FirstOrDefault(o =>o.流水号 == lb2.ID).报案时间).ToString(); 
       }
    }
      

  6.   

    tt.FirstOrDefault(o =>o.流水号 == lb2.ID)应该是这个为null吧
      

  7.   


    那就到FirstOrDefault这里面的这个方法看看,哪些会出现错误的
    你会调试么?在这一行代码按F9设置断点, 按 F10逐步跟踪。。
      

  8.   

    那一步一步的来,先var item=tt.FirstOrDefault(o =>o.流水号 == lb2.ID);
    item一定为空,那就是看tt是否包含既定的序列,感觉你的tt是查询出的数据不对另外为什么不直接查询  DataClasses1DataContext db = new DataClasses1DataContext();            
                Label18.Text = (db.Illegal_things.where(o =>o.流水号 == lb2.ID).single().报案时间).ToString(); 非中间来一下呢
      

  9.   

      补充一点.. 别.ToString(); 用 as string