我的问题很简单。我有一个通过TDataSetProvider链接到TADOQuery的TClientDataSet。我可以将数据从TADOQuery放入TClientDataSet,但如何将数据从TClientDataSet放回TADOQuery?
当我运行查询,然后将TClientDataSet的Active属性设置为True时,数据会自动从TADOQuery传输到TClientDataSet,但是如果我停用TADOQuery,然后再次激活它,我如何从TClientDataSet获取数据?
我在几个数据库上运行相同的查询,并使用TClientDataSet连接结果。这工作得很好。我现在的问题是,我需要将连接的结果集从TClientDataSet返回到TADOQuery中,以便可以使用TADOQuery的SaveToFile过程(出于兼容性原因)。我该怎么做呢?
发布于 2009-12-08 01:21:15
我刚刚调查完这件事。我的应用程序允许用户通过查询其数据库来生成报告。我可以让它工作,它对于小的结果集是非常有效的-然而,由于这是一个报表应用程序,完全有可能返回数十万条记录,使用ClientDataSet会带来大量的性能问题。一旦您获得了大约50,000条记录(考虑到客户基础,这是合理的),处理过程就开始呈指数级增长,所以这基本上是没有意义的。
发布于 2009-12-07 21:19:01
我不像使用dbExpress那样使用TADOQuery,但我认为需要使用相同的技术。在将更改发布到TClientDataSet之后,调用'ApplyUpdates (0)',它将数据从clientdataset传输到它的提供者。
发布于 2009-12-08 00:17:30
您始终可以将数据集写回临时表,然后对其进行查询。哦!!
https://stackoverflow.com/questions/1859378
复制相似问题