如何在服务器更新时刷新客户端上的查询而不断开连接并重新连接

时间:2012-11-02 20:16:20

标签: delphi firebird

我使用firebird IBdatabase,IBquery开发了一个客户端/服务器数据库应用程序。我需要知道当其中一个数据有updat / insert查询时,如何刷新服务器和客户端上的数据。原因是当我在客户端上运行查询时,在将记录插入表中后,新记录不会反映在查询中。直到我断开并重新连接agin 我使用firebird db,使用interbase vcl,在Delphi XE2中进行开发

2 个答案:

答案 0 :(得分:2)

您不必断开连接,但您必须刷新(或关闭并重新打开)IBQuery。大多数数据库都是这种情况。

如果您不想这样做,则必须从数据库向所有客户端发送通知。我不知道FireBird是否可行,但数据库执行此操作并不常见。

答案 1 :(得分:1)

您的选择查询的事务类型可能是快照。您可以在每次要刷新时启动新的快照事务,也可以使用事务类型read committed。