delete不需要加Post。
删除前要判断表中是否有数据
if tb.RecordCount>0 then
tb.delete;
如果数据集使用的dbexpress中的TSimpleDataSet,或者是TClientDataSet, 要提交时需要添加
tb.applyUpdates(-1);
可能是你的表中有两条记录字段值全部重复的记录。表中设置一个主键,避免输入记录有全部字段重复就好了。
另外,你需要把你数据库中现有的的重复记录删除。
一般情况下,你删除一个,和这个记录重复的全部记录就都会被删除,但会报这样一个错误。
你用的是第三方的数据连接吗?有的第三方数据集控件是需要设置主键的。