DataTable的行删除,当删除完整个表后不能更新,请问是怎么回事?
for(i=TemTable.Rows.Count-1;i>=0;i--)
{
TemTable.Rows[i].Delete();
}
TemTable.AcceptChanges();
SqlDataAdapter1.Update(TemTable);上面的意思是用循环删除所有的记录,如果不加上AcceptChanges的话,程序提示出错,说什么不能在没有键的什么上更新SqlDataAdapter,如果加上了AcceptChanges,在本地的表是删除了,但数据库事实上并没有删除到物理记录,请问这个怎么办。?

解决方案 »

  1.   

    补充以下,他的错误提示是:于不返回任何键列信息的 SelectCommand 不支持 DeleteCommand 的动态 SQL 生成
    之后我重新建了一个主键,上面的问题就解决了,是不是一定要建主键的呢,还有没有其他办法呢。
      

  2.   

    SqlDataAdapter1.Update(TemTable);
    TemTable.AcceptChanges();如果使用CommandBuilder的话就需要建立主键!自己写DeleteCommand的话就不一定需要
      

  3.   

    DbCommandBuilder cb = CreateCommandBuilder(myDataAdapter);
    cb.ConflictOption = ConflictOption.CompareAllSearchableValues;