在Delphi中使用TADOQuery,TClientDataSet,TDataSetProvider时从数据库刷新数据

时间:2016-09-23 10:45:12

标签: delphi datagrid duplicates tclientdataset tadoquery

我有一个连接到数据库的TADOQuery,并且sql设置为获取数据。

TDataSetProvider到上面的查询

连接到提供商的TClientDataSet

TDataSource连接到数据集

连接到TcxGrid的数据源

客户端数据集也连接到主源,主源本身连接到表。

我可以按预期添加和删除网格(网格无法直接编辑,所有人都可以添加或删除)。我正在使用删除并附加数据集来控制网格。

奇怪的是,我无法解决的是,当我更改主源网格中使用的记录,然后返回到原始记录时,数据正在从数据库刷新或某些存储的原始数据集状态,而不是内存中的数据集。

因此,如果我删除了一条记录,它会重新出现,并且任何仍然存在的记录都会重复,尽管从上次保存添加到数据库的任何内容都不会重复。但是,如果我对数据库的数据集进行更新,那么数据库表就是我所期望的。没有重复记录,删除通过网格/数据集删除的任何内容,添加任何添加的内容。

我怀疑这是一个非常简单的标志设置,但我找不到这个,而其他人的每个查询似乎都是关于刷新数据,而不是阻止它。

任何建议都将不胜感激。

0 个答案:

没有答案