很急!关于数据库主键的问题!小弟我只有十分了。(10分)

  • 主题发起人 主题发起人 子弹
  • 开始时间 开始时间

子弹

Unregistered / Unconfirmed
GUEST, unregistred user!
在新增记录时,有什么高效的办法判断主键是否重复。我是用遍历每条记录的方法。
with ADoTable1 do
begin
first;
while not Eof do
begin
if s = FieldValues['MainKey'] then
begin
result := false;
break;
end;
next;
end;
en;
但这种方法在有上万条记录时,变得效率很低。谁有更好的办法?
 
你打开了缓存了没有?如果没有,在onPostError事件中就可以捕捉到主键重复的错误。
怎样去捕捉不用我教了吧。
 
try
insert
except

on
 
lop说的对,如果不是自动编号的,就用SQL语句查询主键是否存在,再POST
 
事务提交时会自动检测
 
可为什么在错误事务处理完后,保存正确的数据还是会提示错误信息,导致程序无法正常
运行?是不是在处理事务时,一定要退出程序啊?
 
后退
顶部