DataTable的行删除,当删除完整个表后不能更新,请问是怎么回事?
for(i=TemTable.Rows.Count-1;i>=0;i--)
{
TemTable.Rows[i].Delete();
}
TemTable.AcceptChanges();
SqlDataAdapter1.Update(TemTable);上面的意思是用循环删除所有的记录,如果不加上AcceptChanges的话,程序提示出错,说什么不能在没有键的什么上更新SqlDataAdapter,如果加上了AcceptChanges,在本地的表是删除了,但数据库事实上并没有删除到物理记录,请问这个怎么办。?
for(i=TemTable.Rows.Count-1;i>=0;i--)
{
TemTable.Rows[i].Delete();
}
TemTable.AcceptChanges();
SqlDataAdapter1.Update(TemTable);上面的意思是用循环删除所有的记录,如果不加上AcceptChanges的话,程序提示出错,说什么不能在没有键的什么上更新SqlDataAdapter,如果加上了AcceptChanges,在本地的表是删除了,但数据库事实上并没有删除到物理记录,请问这个怎么办。?
之后我重新建了一个主键,上面的问题就解决了,是不是一定要建主键的呢,还有没有其他办法呢。
TemTable.AcceptChanges();如果使用CommandBuilder的话就需要建立主键!自己写DeleteCommand的话就不一定需要
cb.ConflictOption = ConflictOption.CompareAllSearchableValues;