dbexpint vs dbexpida for Transactions

dbexpint vs dbexpida for Transactions

Postby johncnoland » Wed 09 Jun 2010 22:43

We have a program that updates a list of records by first deleting the list and then readding a new version of the list. When trying to add a new record to the list using the dbexpida driver, when the transaction completes, all of the records are deleted except the record being added.

This was working before and the code hasn't changed since 2002. When we turn off transaction processing, the update is handled correctly.

For example:

Read current list with secondary key = X from table into combo box
user adds records to combobox

Start Transaction
delete all records with secondary key = X
add each record in combo box to list
commit transaction

The records that were originally in the list are deleted. Only the records the user added are in the list.

In another forum I noticed comments about AutoCommit. Is it possible that the old driver had AutoCommit on and it is off using dbexpida?

Or is there some other issue?
johncnoland
 
Posts: 4
Joined: Wed 09 Jun 2010 22:27
Location: Irvine, CA

Postby Dimon » Thu 10 Jun 2010 09:07

DbxIda doesn't use the AutoCommit setting. dbExpress driver applies changes to database on calling the TClientDataSet.ApplyUpdates method.
Please, compose a small sample to demonstrate the problem and send it to dmitryg*devart*com.
Dimon
Devart Team
 
Posts: 2885
Joined: Mon 05 Mar 2007 16:32


Return to dbExpress driver for InterBase & Firebird