Subject | Re: RefreshRecord bug |
---|---|
Author | phoove27 |
Post date | 2002-03-14T04:25:48Z |
> This is not a Delphi list. It is for Firebird and InterBaseMy very simple test program works fine when running with the
> questions. You'll need to take your questions about failing Delphi
> methods to one of the b.p.d newsgroups.
commercial version of Interbase 6.0 that came with Delphi. The
program fails only when the new Firebird 1.0 server is running
(actually, it also failed with Firebird Release Candidate 2). I'm not
sure that many Delphi people would know which (if any) subtle
differences between Interbase and Firebird need to be accounted for
in Delphi programs.
> But, just so that your post doesn't go completely unanswered:Thanks for attempting to answer my question. In fact I do have a
> The Delphi exception appears to indicate that you have no primary
> key in the underlying table or, alternatively, the output dataset
> does not supply unique rows.
primary key on the CUST_NO field, and the output dataset consists of
exactly four unique rows.
> >I can edit, save, and cancel. I can call "Refresh" on the datasetThe transaction is set to READ COMMITED. Initially the Delphi
> >with no problem. The problem only occurs when I attempt to call
> >the "RefreshRecord" method.
>
> As above. Refresh closes and reopens the dataset. RefreshRecord
> needs to have a successful CommitRetaining within a READ COMMITTED
> transaction; but it looks as if the Commit(retaining) is failing
> because of missing keys.
dbExpress database connection component was set at its default of
CommitRetaining=False; I changed to CommitRetaining=True and re-ran
the program with no success. As before, the program worked fine with
the Interbase 6.0 server but failed with the Firebird 1.0 server.
> >I am using Firebird 1.0 for both Linux and Windows. The problemI'm a newbie to Interbase, Firebird, and Delphi. From what you are
> >always existed with the Windows Firebird, but the problem with the
> >Linux Firebird started only after I downloaded the latest version
> >last night. I did not receive the error message when using an older
> >version of Linux Firebird.
>
> On this list, it's impossible to troubleshoot an SQL problem unless
> you provide the exact statement that is failing. In Delphi, which
> does its own (hidden) parsing of SQL, you will only get this by
> running an SQL monitor over the API - then you can paste the SQL
> and post intelligent questions that might have a chance of getting
> answered on this list.
telling me, it sounds as though I would need to be an advanced user
to get help from this list.
I had hoped that perhaps some Interbase/Firebird afficionado might
have Delphi and be tempted to spend two minutes creating a simple
dbExpress application with a RefreshRecord operation and tell me if
they also receive errors with the Firebird Server (either RC2 or
v1.0).
> >Is this a bug in FirebirdI have the latest update pack for Delphi 6.0. And again, the Delphi-
>
> indefinable without the metadata and SQL info
>
> >a bug in Delphi
>
> Could be. Borland recently distributed a complete update pack for
> Delphi 6.
produced executable works exactly as expected when the commercial
Interbase 6.0 server is running.
> >or am I just missing something?I'm not sure that the "ShowMessage(MyQuery.Sql.Text)" pertains to
>
> Highly likely, considering your test code appears to do nothing to
> try to identify what is going on, e.g.
> Showmessage(MyQuery.Sql.Text) in your BeforePost event would
> probably be quite revealing.
dbExpress with SQLDataSet -> Provider -> SQLClientDataSet ->
DataSource. At any rate, if I knew how to do this (or its dbExpress
equivalent) I would gladly do it.
> Inspection of variables in the debugger is always worth a shot.What variables? I am not defining any variables in my very simple
test program.
Regards,
Paul