Page 1 of 1

RefreshRecord loads **ALL** records again

Posted: Tue 18 Dec 2007 19:23
by eliesermorais
Hello!

I'm trying IBDAC in a multi-tier application with D2007. I'm using IBCQuery, DataSetProvider on Server. On the Client side, a SocketConnection and a ClientDataSet component.

The problem begin with slow updates. I use DBMonitor to check what happen and...
1. When I issue a ApplyUpdates on my ClientDataset, the IBCQuery on Server loads all records again before UPDATE.
2. After the ApplyUpdates I issue a RefreshRecord to refresh data modified by triggers on the update process. Again, IBCQuery loads all data.

I configured the IBCQuery with SELECT, INSERT, UPDATE, DELETE, LOCK and REFRESH queryes, but when a RefreshRecord is issued, it runs SELECT script, but not the REFRESH script.

There is a configuration to workaround this?

Thanks in advance,
Elieser

Posted: Wed 19 Dec 2007 09:48
by Plash
This problem can occur if you don't open TIBCQuery component on the server. In this case TIBCQuery component is opened and closed every time when you perform some operation with TClientDataSet.

Try to open the TIBCQuery component before openning TClientDataSet.

Posted: Wed 19 Dec 2007 22:18
by eliesermorais
I'm trying dbExpress driver too, and this problem don't happen with dbExpress in 3 tier application. Since I will not have control to open IBCQuery before ClientDataSet, is dbExpress driver the best option in this case?
If I decide to buy it there is an educational price for students? (is for my conclusion project on this summer, and my money downs)

Posted: Thu 20 Dec 2007 09:33
by Plash
We could not reproduce the problem that all records are selected on ApplyUpdates call.

We have also made test with dbExpress. It works same as IBDAC. All records are selected on RefreshRecord call, and they does not selected on ApplyUpdates call.

Probably, there is no way to avoid selecting all records.

Posted: Thu 20 Dec 2007 17:29
by Devart
eliesermorais wrote:If I decide to buy it there is an educational price for students? (is for my conclusion project on this summer, and my money downs)
We offer special prices for education organizations and students.
Ordering details by email.

Core Lab Sales team
www.crlab.com