RT,请诸位帮忙解答……

解决方案 »

  1.   

    你是怎么更新的?  dataAdapter.update时, 表是一定要有主键的. 
      

  2.   

    不设置也行,但是用OleDbDataAdapter.Update方法自动更新必须在where中存在主键或唯一值 
    参见
    在 Update 过程中,如果未设置此属性而且 DataSet 中存在主键信息,那么在设置 SelectCommand 属性并使用 OleDbCommandBuilder 的情况下,可以自动生成 UpdateCommand。然后,OleDbCommandBuilder 将生成其他任何未设置的命令。此生成逻辑要求 DataSet 中存在键列信息。有关更多信息,请参见 使用 CommandBuilder 生成命令 (ADO.NET)。在将 UpdateCommand 分配给以前创建的 OleDbCommand 时,不克隆 OleDbCommand。UpdateCommand 维护对以前创建的 OleDbCommand 对象的引用。