Subject | Re: [IBO] Transaction problems |
---|---|
Author | rodbracher |
Post date | 2002-10-15T11:01:13Z |
I removed the execSQL and replaced it with a select *... and loop
through all the records - now it works 100% - same job - just a bit
more tedious.
(using ib6.0)
through all the records - now it works 100% - same job - just a bit
more tedious.
(using ib6.0)
--- In IBObjects@y..., Helen Borrie <helebor@t...> wrote:
> At 07:02 AM 15-10-02 +0000, you wrote:
> >Hi
> >
> >I have a transaction that essentially imports records - check to
see
> >if there is an existing key ( edit ) or none ( inserts ). I then
> >update all those records with an update statement ( execSQL ). This
> >causes a 'Connection Lost To Database' ( in the interbase.log I get
> >IBServer terminated abnormally )
> >
> >Is it bad to use edit/inserts and post along with execSQL
statements
> >in the same transaction ?
>
> In the same transaction, no, it's not bad at all.
>
> But an insert statement is a DIFFERENT statement to an update
> statement. What is probably causing the crash is that you are
passing the
> insert statement to a statement object that has prepared the update
> statement, or vice versa.
>
> Since your statements are going to see-saw all the time, you'll
need to
> make your logic apply the SQL afresh each time you use the
statement
> object, and call Prepare before you call Execute.
>
> To clarify, it's fine for you to execute *each* statement as your
app
> decides what the statement is to be and fills up its parameters,
all within
> a single transaction, and to COMMIT the lot at the end.
>
> It sounds as if you would benefit from setting up an IB_Monitor and
> watching what's happening at the interface when you prepare and
execute
> these statements.
>
> Helen