简单的问题(100分)

  • 主题发起人 主题发起人 whlonly
  • 开始时间 开始时间
W

whlonly

Unregistered / Unconfirmed
GUEST, unregistred user!
如何用StringListA通过 ADOQuery1读取表A 关键字的所有值 ;用StringListB通过 ADOQuery2读取表2 关键字的所有值 ;然后通过 两个 SringList 的 indexof 来比较表A中关键字的值 是否全部在表 B的关键字列中 ,如果没有则列出所有的没有在B列中的关键字的名称!~~~
各位能给源码吗 ?
 
晕,用一句语句不就行了嘛
select a.key from a where a.key not in (select b.key from b)
显示出来的就是你要的
 
呵 可能是我没说清楚 因为一个StringList的数据是从 Excel 中 读出来的,所以这里面的关键字并不是真正意义上的关键字.在导入的 ACCESS表中把这个字段设置为关键字不能重复,所以从EXCEL读出的到TSTRINGLIST的只是值
 
另外忘记说了,我从 EXCEL中读出的字段都是中文字段,不知道 SQL中是否支持象
select a.key from a where a.key not in (select b.key from b)
的 中文字段的查询呢?
 
有那么难么?
用Locate方法不就得了
大概代码如下
while not adoquery1.eof do
begin
if not adoquery2.locate([field],adoquery1.fieldbyname('').value) then //没有找到
begin
//
end;
adoquery1.next
end;
 
后退
顶部