使用ADOQUERY取得的数据库表格纪录。怎么对其进行再次的搜索?小弟曾经是通过每次使用ADOQUERY去进行搜索数据库中表格的数据,但由于搜索的次数特多,平均每10秒一次。这样每次 使用Adoquery得打开数据库连接,然后取之,然后关闭,特浪费时间和速度。
 能不能在第一次将表格中的所有数据取出后。对这个ADOQuery进行搜索(既然ADOQuery中的有数据,也就是在内存中),如何处理这个问题?

解决方案 »

  1.   

    先用select把数据都取出来,然后根据不同的条件locate,然后一条条望下读,每读一条判断一下是不是还符合条件,直到不再符合locate的条件,不过这样未必快多少或者不怕麻烦,将所有的数据读出来,放进一个结构,自己写方法搜索,速度应该快,而且足够灵活,就是麻烦,你得考虑划不划得来。
      

  2.   

    我是想将一个表个中的所有记录用ADOQUERY Open后。所有的数据都在ADOQUERY中了,能不能再对ADOQUERY中的数据进行 T-Sql 语句的查询?不过现在用的方法和 ldyocean(小四) 说出的一样,就是读出表中的数据放入结构中,自己编写搜索功能!
      

  3.   

    ADOQuery1.Filter := 'name=张三'; 
    //相当于SQL的条件:where name='张三'    
    ADOQuery1.Filtered := true;