如何快速地在adoquery中查找?

TOBCB 2003-01-08 06:34:09
有两个adoquery控件:adoquer1、adoquery2,它们的字段全部相同只是数据不同而已,且都是通过字段id排序的。

现要从adoquer1结果集中查找adoquery2中没有的数据并进行处理,问:用什么方法最快?

谢谢!
...全文
26 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
pbsql 2003-01-08
  • 打赏
  • 举报
回复
ad100(蓝羽)说的好象有道理,我试一下,但怎样建这样的临时表呢?(表结构未知)
ad100 2003-01-08
  • 打赏
  • 举报
回复
你这样会慢得要死,建议将其中一个表的数据转到同一个
库中后,再用pazee(耙子) 的方法
TOBCB 2003-01-08
  • 打赏
  • 举报
回复
谢谢回答!是这样的,两个结果集来源于不同的地方,可能是两个数据库,甚至是两台计算机,所以不能用连接两个表查询的方法。

我想了一下用下面的方法:
while not q1.eof do
begin
locateresult:=q2.locate(...);
if locateresult then
...
else
...;
q1.next;
end;
但这样的话,如果q2中记录很多,执行完整个循环会很慢,因为locate花的时间比较长。有没有更快的查询定位方法呢?
TOMWLD 2003-01-08
  • 打赏
  • 举报
回复
同意楼上
耙子 2003-01-08
  • 打赏
  • 举报
回复
退一步用sql 重新得到数据集

select * from table1 where id not in (select id from table2)
hamzsy 2003-01-08
  • 打赏
  • 举报
回复
看看用临时表能否解决?

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧