Subject | Starttransaction/Commit |
---|---|
Author | Stefan Rausch |
Post date | 2001-08-21T15:55:04Z |
Hi,
I'm still trying to convert an Application from BDE to Interbase/IBO.
I have some Problems with TIBODatabase.StartTransaction/Commit.
D5Ent, IB6, IBO4.2 Eb
There is no Problem with that in IBO 3.6.
I made a small Test-App with a single Form and put 1 TIBODatabase
and 2 TIBOTables on it
* 2 different physical tables
* no relation between the tables
* both Tables have a 3-field-primary-key
If I click the button for the _first_ time after the start of the
application:
procedure TForm1.FormCreate(Sender: TObject);
begin
IBODatabase1.username := '...';
IBODatabase1.password := '...';
IBODatabase1.Open;
TAB1.Open;
TAB2.Open;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
TAB2.Next;
IBODatabase1.StartTransaction; //just a
IBODatabase1.Commit; //sample...
end;
I get an access violation in BinaryToHexText (ABuffer = nil);
The Stack is:
TIB_Database.Commit
TIB_Transaction.Commit
TIB_Transaction.SysCommit
TIB_Transaction.SysCommitEnd
TIB_Transaction.SysProcessCommitAction
TIB_Dataset.RefreshKeys
TIBOInternalDataset.SysRefresh
TIBODataset.GetBookmarkStr -- TAB1
BinaryToHexText
Whether the error occurs, depends on the order, the tables are opened.
If I open TAB2 first and do TAB1.Next, then the error occurs in
TAB2.GetBookmarkStr ...
Stefan Rausch
I'm still trying to convert an Application from BDE to Interbase/IBO.
I have some Problems with TIBODatabase.StartTransaction/Commit.
D5Ent, IB6, IBO4.2 Eb
There is no Problem with that in IBO 3.6.
I made a small Test-App with a single Form and put 1 TIBODatabase
and 2 TIBOTables on it
* 2 different physical tables
* no relation between the tables
* both Tables have a 3-field-primary-key
If I click the button for the _first_ time after the start of the
application:
procedure TForm1.FormCreate(Sender: TObject);
begin
IBODatabase1.username := '...';
IBODatabase1.password := '...';
IBODatabase1.Open;
TAB1.Open;
TAB2.Open;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
TAB2.Next;
IBODatabase1.StartTransaction; //just a
IBODatabase1.Commit; //sample...
end;
I get an access violation in BinaryToHexText (ABuffer = nil);
The Stack is:
TIB_Database.Commit
TIB_Transaction.Commit
TIB_Transaction.SysCommit
TIB_Transaction.SysCommitEnd
TIB_Transaction.SysProcessCommitAction
TIB_Dataset.RefreshKeys
TIBOInternalDataset.SysRefresh
TIBODataset.GetBookmarkStr -- TAB1
BinaryToHexText
Whether the error occurs, depends on the order, the tables are opened.
If I open TAB2 first and do TAB1.Next, then the error occurs in
TAB2.GetBookmarkStr ...
Stefan Rausch