Subject | TIB_Query.RefreshKeys doesn't reflect INSERTs |
---|---|
Author | paranoia2k2002 |
Post date | 2002-05-23T02:53:58Z |
I'm using
IBObjects 4.2 Hc
Firebird 1.0
Windows NT Server 4 SP6
I have one TIB_Query (DisplayQuery) to display data from table T1
by SELECT statment and another TIB_Query (UpdateQuery) performing
INSERT, UPDATE OR DELETE on this table. The task is
DisplayQuery to reflect changes made by UpdateQuery.
Table is big (up to 100 000 rows) so RefreshKeys or Refresh is
more preferred method then Close-Open.
Table is like this
CREATE TABLE T1(
KEYFIELD INTEGER NOT NULL PRIMARY KEY,
F2 INTEGER,
F3 CHAR(8)
...
)
DisplayQuery.IB_Transaction.Isolation = tiCommitted
DisplayQuery.KeyLinks[0] = T1.KEYFIELD
DisplayQuery.KeyLinksAutoDefine = false
DisplayQuery.FetchWholeRows = false
DisplayQuery.AutoFetchAll = false
DisplayQuery.RefreshAction = raKeepDataPos
DisplayQuery.RequestLive = false
DisplayQuery.SQL = SELECT * FROM T1 WHERE F2=F2_PARAMETER
where F2_PARAMETER is value set in program, but stay intact
before and after refresh.
UpdateQuery.IB_Transaction.Isolation = tiCommitted
UpdateQuery.RequestLive = false
After INSERT is performed by the UpdateQuery and insert transaction
commits I'm trying to display changes using DisplayQuery.RefreshKeys.
But inserted rows are not visible by DisplayQuery until I perform
Close and Open. Neither DisplayQuery.RefreshAll nor
DisplayQuery.Refresh
doesn't help too.
After UPDATE or DELETE is performed by the UpdateQuery and changes
are committed, DisplayQuery.RefreshKeys works fine - every changes
are visible.
Thanks in advance for everybody who'll help.
Best regards, vicser
mailto: vicser@...
IBObjects 4.2 Hc
Firebird 1.0
Windows NT Server 4 SP6
I have one TIB_Query (DisplayQuery) to display data from table T1
by SELECT statment and another TIB_Query (UpdateQuery) performing
INSERT, UPDATE OR DELETE on this table. The task is
DisplayQuery to reflect changes made by UpdateQuery.
Table is big (up to 100 000 rows) so RefreshKeys or Refresh is
more preferred method then Close-Open.
Table is like this
CREATE TABLE T1(
KEYFIELD INTEGER NOT NULL PRIMARY KEY,
F2 INTEGER,
F3 CHAR(8)
...
)
DisplayQuery.IB_Transaction.Isolation = tiCommitted
DisplayQuery.KeyLinks[0] = T1.KEYFIELD
DisplayQuery.KeyLinksAutoDefine = false
DisplayQuery.FetchWholeRows = false
DisplayQuery.AutoFetchAll = false
DisplayQuery.RefreshAction = raKeepDataPos
DisplayQuery.RequestLive = false
DisplayQuery.SQL = SELECT * FROM T1 WHERE F2=F2_PARAMETER
where F2_PARAMETER is value set in program, but stay intact
before and after refresh.
UpdateQuery.IB_Transaction.Isolation = tiCommitted
UpdateQuery.RequestLive = false
After INSERT is performed by the UpdateQuery and insert transaction
commits I'm trying to display changes using DisplayQuery.RefreshKeys.
But inserted rows are not visible by DisplayQuery until I perform
Close and Open. Neither DisplayQuery.RefreshAll nor
DisplayQuery.Refresh
doesn't help too.
After UPDATE or DELETE is performed by the UpdateQuery and changes
are committed, DisplayQuery.RefreshKeys works fine - every changes
are visible.
Thanks in advance for everybody who'll help.
Best regards, vicser
mailto: vicser@...