Make sure you commit the transaction on the other side(Robin in this case).
I believe, you also can set uncommitted data readable.True, but it's a two edge sword. Seeing/working with uncommitted changes it's a recipe for disaster(see dirty reads).
Commit commits an active transaction. The changes will be irreversably written to the database.What did you write to the database in this particular case? :)
SQLTransaction1.Commit flags a transaction as concluded and will close everything. Just to read something from the database your don't need a commit:That depends on the isolation level. If it is in snapshot mode (which is default), the reading will also be done in the current transaction. You are not able to see written data from another transaction. You see a snapshot of the database at the moment of the start of your own transaction.
SNAPSHOT isolation level—the default level—allows the transaction to see only those changes that were committed before this one was started.https://firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref25-transacs-statements.html
tiCommitted - Read-CommittedFor years I only did a IBQuery.Refresh and everything was up to date. More over whit IBObjects you can easily subscribe to firebird events, you get notified when something changes without the need to do refresh.
This is the ideal isolation for a browsing user interface because it keeps up with all committed changes in the database as they occur. Thus, the interface can be refreshed to reflect changes in the database without having to start a new transaction.
If using an IB_Query component it is even possible to refresh individual rows of a dataset or, based on a refresh of the keys of the dataset, refresh the order or inclusion (in case of deletes and inserts by other users or a change in the ORDER BY criteria) of records without having to refetch the individual records of the dataset again. When this type of refresh is performed all of the row buffers are stored aside so that when their keys are fetched from the server they are reassociated with the record buffer in memory.