首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Delphi从FDTable删除所有记录

Delphi从FDTable删除所有记录
EN

Stack Overflow用户
提问于 2017-01-06 11:43:08
回答 6查看 11K关注 0票数 3

我试图删除我的FDTable组件中的所有记录,

mytable.Delete;

但没有记录被删除。

有人能建议我删除FdTable中的所有记录吗?

编辑

我用这种方式修改了它,

代码语言:javascript
复制
  for i := mytable.RecordCount - 1 downto 0 do
  begin
    mytable.Delete;
  end;
  mytable.Refresh;

但这需要很长时间,因为我的可操作表中有很多行。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2017-01-06 12:37:57

删除基础数据库表中的所有记录(这将取决于数据库)并只调用一次刷新。

如果必须通过TFdTable完成,请使用BeginBatch,执行删除(不刷新)、EndBatch,然后才刷新。

代码语言:javascript
复制
 mytable.BeginBatch;
 for i := mytable.RecordCount - 1 downto 0 do
 begin
    mytable.Delete;
 end;
 mytable.EndBatch;
 mytable.Refresh;
票数 3
EN

Stack Overflow用户

发布于 2017-01-06 17:28:44

试一试

代码语言:javascript
复制
MyTable.EmptyDataSet;

可能还有更多的工作要做,但您一开始并没有说明如何填充MyTable

票数 7
EN

Stack Overflow用户

发布于 2017-01-06 12:33:46

试一试

如果对所有行执行删除操作,则会影响性能。

如果这不起作用,那么为什么不创建dataset运行时,然后释放对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41504977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档