这个是正常运行的截图:
这个用另一个方法出错的截图:这个是出错时的SqlDataAdapter:

解决方案 »

  1.   

    Insercommand为空,给它赋值试试呢
      

  2.   

    自己创建一个SqlCommand对象,赋给InsertCommand。
      

  3.   


    这不就是给它赋值出的错吗?
    第一个图 我就是用sqlcommand赋值的。我问题是为什么我直接复制不可以?
    能说具体点吗? 它要怎么赋值?
      

  4.   

    改称这边你的InsertCommand 是Null,所以你设置它的Connection肯定是要抱错的
    sad.InsertCommand = new SqlCommand(sql,conn);
      

  5.   

    第一个图 我就是用sqlcommand赋值的。我问题是为什么我直接复制不可以?
    ---------------------------------你复制的是第一图中被注释掉了的代码,未注释的代码中你可以看到明确地new了一个SqlCommand对象。
      

  6.   

    你贴出来的图已经表明了出错的时候,SqlDataAdapter的几个SqlCommand类型的属性都是null的了。
      

  7.   

    感谢大家,问题已经解决。
    解决方法像dancingbit、zzyhuian06142说的一样。
    但是我还是有点不理解,InsertCommand是SqlDataAdapter的一个属性,SqlDataAdapter我已经实例化了,为什么InsertCommand属性也要实例化一下?
      

  8.   


    InsertCommand接受的是一个对象
    只要是对象就要实例化的