Delphi 用dbnavigator和dbgrid链接以后,使用dbnavigator控件的删除时会使程序崩溃,该如何处理

2025-05-13 20:22:04
推荐回答(3个)
回答1:

delete不需要加Post。
删除前要判断表中是否有数据
if tb.RecordCount>0 then
tb.delete;
如果数据集使用的dbexpress中的TSimpleDataSet,或者是TClientDataSet, 要提交时需要添加
tb.applyUpdates(-1);

回答2:

可能是你的表中有两条记录字段值全部重复的记录。表中设置一个主键,避免输入记录有全部字段重复就好了。
另外,你需要把你数据库中现有的的重复记录删除。
一般情况下,你删除一个,和这个记录重复的全部记录就都会被删除,但会报这样一个错误。

回答3:

你用的是第三方的数据连接吗?有的第三方数据集控件是需要设置主键的。