Thread View: borland.public.cppbuilder.database.multi-tier
3 messages
3 total messages
Started by Klaas Wolters
Sat, 23 Jan 1999 00:00
Large tabels, overloading Last( ), Locate( ) in CDS
Author: Klaas Wolters
Date: Sat, 23 Jan 1999 00:00
Date: Sat, 23 Jan 1999 00:00
25 lines
1393 bytes
1393 bytes
I my application I use a person table with a photo
When this table grows large the client application is some time busy caching
the data.
Using packetrecords and request on demand works fine for startup
but once clicking last or using locate the whole data set is cached.
I read some solutions for that : Let the user reduce the requested records
by a filter or selection list.
Im thinking about overloading the last en locate procedures from CDS
and using the RequestData procedure from TProvider.
for example CDS->Provider->RequestData("Locate XXXX");
The Provider Component on the server should handle this requests.
so the result should be a data set with 10-> 20 records around the requested
record. For the user it looks like he can scroll fast and the locate takes
some longer.
Has anybody experience with this ?
Or some other suggestions.
Thanks for any help!
Klaas
Re: Large tabels, overloading Last( ), Locate( ) in CDS
Author: Josh Dahlby
Date: Tue, 26 Jan 1999 00:00
Date: Tue, 26 Jan 1999 00:00
28 lines
1728 bytes
1728 bytes
>Im thinking about overloading the last en locate procedures from CDS
>and using the RequestData procedure from TProvider.
>for example CDS->Provider->RequestData("Locate XXXX");
>The Provider Component on the server should handle this requests.
>so the result should be a data set with 10-> 20 records around the
requested
>record. For the user it looks like he can scroll fast and the locate
takes
>some longer.
>
>Has anybody experience with this ?
>Or some other suggestions.
The only problem with this is you will need to make sure not to send
back duplicate records. (Which may be difficult if you fetching batches
from different locations in the table.) If you set FetchOnDemand to
False and then call Locate or Last it won't fetch all records. So for
example, if you want to do a Locate, but just want to see if it has
already been downloaded then you can set FetchOnDemand to False then
call Locate. Then if it isn't found you could either fetch the record
from the server (like you mention above) or prompt the user that it may
take some time for it to find the record on the server.
Josh Dahlby
Delphi R&D
Please post MIDAS-related messages in inprise.public.midas
Re: Large tabels, overloading Last( ), Locate( ) in CDS
Author: Mats Gardstad Friberg
Date: Wed, 17 Feb 1999 00:00
Date: Wed, 17 Feb 1999 00:00
35 lines
1608 bytes
1608 bytes
This is a multi-part message in MIME format. --------------D50302EFCFC9F568495994C0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Klaas Wolters wrote: > I my application I use a person table with a photo > When this table grows large the client application is some time busy caching > the data. A different solution for image-database applications would be to store the image on a FTP server and have a reference i the database tables to the name of the image. --------------D50302EFCFC9F568495994C0 Content-Type: text/x-vcard; charset=us-ascii; name="mats.g.friberg.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Mats Gardstad Friberg Content-Disposition: attachment; filename="mats.g.friberg.vcf" begin:vcard n:Friberg;Mats G x-mozilla-html:FALSE org:Datarutin AB;Systems adr:;;;;;; version:2.1 email;internet:mats.g.friberg@datarutin.se x-mozilla-cpt:;-1 fn:Mats G Friberg end:vcard --------------D50302EFCFC9F568495994C0--
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads