I am using Firebird 3 in Delphi XE7 and also the latest UniDac components. I don't think any of this is relevant...but still.
My current project contains about 70 different programs that interact with a FB3 database. Sometimes I have a problem updating the records in one program that has just been updated in another program. ie I could have 2 modules open (in Windows). Module 1 changes data in a table. Module 2 might do a SQL query on that table, but does not see the changes just made by Module 1. I can repeat the query any number of times - the data simply does not come through. I guess the data is being cached somewhere and not being read from the table itself.
The only way (so far) to ensure that Module 2 sees the changes is to close the program and restart it.
I was wondering what the best way to ensure that the data is the most current is? Do I close the UniConnection, then reconnect? This seems like it would work ok, but it is not a very good idea as I could have a dozen forms open in Module 2 that are also using this common UniConnection.
Firebird data not refreshing
Re: Firebird data not refreshing
For Module 2 to see the changes made in Module 1, the following conditions must be met: the transaction in which the data is inserted (altered) in Module 1 is commited, call the Refresh method in Module 2. If this does not help you in solving your issue, please compose a small sample demonstrating the specified behavior and send it to us using the contact form https://devart.com/company/contactform.html, including scripts for creating and filling database objects.