本来是有这样一段代码:
  先用TQuery执行存储过程,然后得到一个结果集。然后TTable的batchmove方法把TQuery中的结果集复制到Table中,这里table连接的是本地表,所以数据就会保存到本地表中了。然后再通过一些条件查询本地表的数据,然后显示到表格中。目前遇到的问题的查询本地表的时候,一些Sqlserver的语法会不适用,所以想换成用ADO的控件实现这个功能(而不在使用本地表,本地表在使用的过程中时常会有一些小问题,这东西实在有点老)。请教一下各位大神,用ado的话这个功能应该怎么实现。(由于存储过程返回的数据量很大,所以要把数据保存到本地然后再查询这些数据)

解决方案 »

  1.   

    首先需要说明,我对数据库的东西不太懂。无论你使用BDE或ADO的控件来处理记录,要数据集执行SQL的语句来对本地数据进行操作,没有SQL的服务,谁来解析、运行这些SQL语句呢?所以,我认为:“...查询本地表的时候,一些Sqlserver的语法会不适用...”这概念值得商榷,就是说,数据集仅是将记录集缓存在本地内存上,是无法再通过SQL的语句对这些数据脱离SQL服务进行“查询”的,只能通过数据集对记录处理的一些方法去处理数据,比如:对这些数据重新索引、过滤、分组等操作,而不能用SQL的语句去处理。至于将记录缓存在本地,除用 TTable 控件的方法外,许多人还会用 TClientDataSet 控件来充当这个角色,它们的区别,可能已经不是你想关心的,在此就不讨论了。