||后面不要,或者用&&;自己想一下逻辑

解决方案 »

  1.   

    该为
    if(dsExcel.Tables [0].Rows [i][j.ToString ()+"日"].ToString ().Trim ()!=""||dsExcel.Tables [0].Rows [i][j.ToString ()+"日"]!="")
    {
    }
    试试
      

  2.   

    调试跟踪一下,看看
    dsExcel.Tables [0].Rows [i][j.ToString ()+"日"] 到底是什么?
      

  3.   

    把if(dsExcel.Tables [0].Rows [i][j.ToString ()+"日"].ToString ().Trim ()!=""||dsExcel.Tables [0].Rows [i][j.ToString ()+"日"]!=null)
    {
    }
    改成如下:
    if(dsExcel.Tables [0].Rows [i][j.ToString ()+"日"] != null && dsExcel.Tables [0].Rows [i][j.ToString ()+"日"].ToString ().Trim () !="" )
    {
    }
    因为如果你的字段dsExcel.Tables [0].Rows [i][j.ToString ()+"日"]如果为null时它的ToString()是出错的,但是改后,先计算的是它为不为空,如果为空则不再进行ToString().Trim()这个了,也就不会出错了.
    所以出错的原因是C#里的表达式计算顺序的问题.
      

  4.   

    sorry,看错了。
    hbxtlhx的应该对。