Bug: Zeos6.6.2 Incremental Fetch problem (CDS)
Posted: 30.08.2007, 05:51
Hi,
(Env: Delphi7; PostgreSQL8.x; Zeos6.6.2; ClientDataset)
I need to use the CDS incremental fetching feature which fetches rows only on demand. To turn on this feature set CDS.PacketRecords larger then 0. Say 2.
I tried it out with BDE Query and it worked nicely. Using Zeos ZQuery (which I prefer) the number of records is ok, but no field values are shown in the grid.
test case:
- create a PoastgreSQL database with a test table and insert a few 10000 recods into it.
- create a test app and drop the following components on the MainForm: ZConnection, ZQuery, ClientDataset, DatasetProvider, Datasource, DBGrid. Link them together, establish the connection, set CDS.PacketRecords:=2.
- open the CDS and you will see the DBGrid showing a scrollbar with full of empty cells. The no. of columns is appropriate to the no. of fields in the table but with no data. (all field object values are empty)
- Now drop a Database and a Query (BDE) components on the form and set up the connection and link the Query to the Datasource. Open the CDS and you will see that all the data is shown correctly.
Is there a fix for this issue? How could I use this excellent feature with this excellent tool (Zeos)?
I hope it is not a big issue (maybe something "forgot to set field values" or similar) and is easy to fix because it would be very urgent to me. There are 50000+ records in a table and my customer forces me to show all of them.
No chance to convince him of using filters instead. The only correct way to open that large dataset is using PacketRecords=-1, which means that all of the records are fetched at once to the client, and it takes more then a minute. OK, another way is using BDE, but I do not have to explain why I don't want it - and why I want Zeos instead.
Many thanks!
-- hudgi
(Env: Delphi7; PostgreSQL8.x; Zeos6.6.2; ClientDataset)
I need to use the CDS incremental fetching feature which fetches rows only on demand. To turn on this feature set CDS.PacketRecords larger then 0. Say 2.
I tried it out with BDE Query and it worked nicely. Using Zeos ZQuery (which I prefer) the number of records is ok, but no field values are shown in the grid.
test case:
- create a PoastgreSQL database with a test table and insert a few 10000 recods into it.
- create a test app and drop the following components on the MainForm: ZConnection, ZQuery, ClientDataset, DatasetProvider, Datasource, DBGrid. Link them together, establish the connection, set CDS.PacketRecords:=2.
- open the CDS and you will see the DBGrid showing a scrollbar with full of empty cells. The no. of columns is appropriate to the no. of fields in the table but with no data. (all field object values are empty)
- Now drop a Database and a Query (BDE) components on the form and set up the connection and link the Query to the Datasource. Open the CDS and you will see that all the data is shown correctly.
Is there a fix for this issue? How could I use this excellent feature with this excellent tool (Zeos)?
I hope it is not a big issue (maybe something "forgot to set field values" or similar) and is easy to fix because it would be very urgent to me. There are 50000+ records in a table and my customer forces me to show all of them.
No chance to convince him of using filters instead. The only correct way to open that large dataset is using PacketRecords=-1, which means that all of the records are fetched at once to the client, and it takes more then a minute. OK, another way is using BDE, but I do not have to explain why I don't want it - and why I want Zeos instead.
Many thanks!
-- hudgi