Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 8 of 8 total
Thread Very important Question : Refresh Only one Record
Thu, Mar 8 2007 5:30 AMPermanent Link

"Enrico Ghezzi"
Hi, this a very important problem for me.

I must optimize network use of my program.
i have much readonly dbgrid for select any records ( SpaceBar + SpaceBar
+SpaceBar , for select 3 record )
I have a CalcField for View tagged record.

Is there something like "RefreshOnlyCurrentRecord" in DBISAM which would
refresh only one record in dataset ?

The TDbIsamTable is in ReadOnly Mode and i'm using a standard TDbgrid .

NOTE :  I can't using :  Edit   + Cancel , for have a single refresh, **  i
can't to send Table in Edit Mode **

How i can call the ONCALCFIELDS , without to send Table in Edit Mode ?

Hint ?

Thu, Mar 8 2007 5:37 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Enrico,

<< Is there something like "RefreshOnlyCurrentRecord" in DBISAM which would
refresh only one record in dataset ? >>

You wouldn't get the proper results in all cases (especially in a grid), so
no, there isn't.   Why do you want to only refresh the current record ?
Performance reasons ?

--
Tim Young
Elevate Software
www.elevatesoft.com

Fri, Mar 9 2007 5:25 AMPermanent Link

"Enrico Ghezzi"
> You wouldn't get the proper results in all cases (especially in a grid),
> so no, there isn't.   Why do you want to only refresh the current record ?


> Performance reasons ?
Yes.


Fri, Mar 9 2007 6:28 AMPermanent Link

Chris Erdal
"Enrico Ghezzi" <EnricoGhezzi@Ghezzi.com> wrote in
news:59098D6A-F580-4965-AA39-3CEF99E31BD4@news.elevatesoft.com:

>> You wouldn't get the proper results in all cases (especially in a
>> grid), so no, there isn't.   Why do you want to only refresh the
>> current record ?
>
>
>> Performance reasons ?
> Yes.

Enrico,

 Perhaps it would be quite easy to create a second Query when you open the
dataset, and copy the SQL to it, adding "where Pk_fieldname =
:Pk_FieldName" at the end. Set its datasource to the first Dataset's
datasource, and keep it closed.

Then you could just open this second query, copy the field values across,
and close it, whenever you want to refresh.

--
Chris
(XP-Pro + Delphi 7 Architect + DBISAM 4.25 build 3 + EDB 1.00 build 6)
Fri, Mar 9 2007 7:04 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Enrico


Is it C/S or fileserver, WAN or local?

What are the size of the lookup tables?

How often do the lookup tables change?

How slow is the network?

Roy Lambert
Fri, Mar 9 2007 8:49 AMPermanent Link

"Enrico Ghezzi"
> Is it C/S or fileserver, WAN or local?

FileServer ( tDbIsamTable )


> What are the size of the lookup tables?

> How often do the lookup tables change?

Table is read only , lookup tables dont' change

> How slow is the network?

Fast 1gb


Fri, Mar 9 2007 9:09 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Enrico


In that case I don't understand what you're trying to optimise "I must optimize network use of my program." With a 1Gb network there shouldn't be a problem.

However, if the lookup files aren't to big simply stream them across when the app starts and use them locally.

Roy Lambert
Fri, Mar 9 2007 6:50 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Enrico,

<< Yes. >>

The performance impact of reading a few extra rows is minimal, and DBISAM
has to perform the same cache refresh processing even if it is only
refreshing one row instead of all of the rows.

--
Tim Young
Elevate Software
www.elevatesoft.com

Image