[Lazarus] LazDataDesktop: transaction handling

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[Lazarus] LazDataDesktop: transaction handling

Free Pascal - Lazarus mailing list

Hello (Michael)!

I started to use LazDataDesktop because PgAdmin4 is horrible.

I have a problem with transactions with Postgres connection (well I tested only Postgres connection).

I found out that when using the SQL editor, I can type "COMMIT" and "ROLLBACK" - so far so good. (Well I would like to have a tool button for these commands but OK for now - I may add them in the future.)

The real problem: I cannot apply edited data from the DB grid. I keep getting this error:

I have clicked on the tick button - it got disabled. I have also clicked on the button next to refresh - well I don't know that the button does because it has no hint and caption, but I clicked on it nevertheless :) :

But still I get the error above and the data is not written.

How can I commit the changes made in the data grid?

Thanks
Ondrej


--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] LazDataDesktop: transaction handling

Free Pascal - Lazarus mailing list

If data of underlaying TSQLQuery are presented and edited only thorought this DBGrid then I would add to TSQLQuery option "sqoAutoApplyUpdates".
(I am not familiar with architecture of LazDataDesktop)
Which causes that on every Post/Delete updates are applied to database.
There will remain option to commit or rollback changes.
L.

Dňa 4.9.2019 o 20:02 Ondrej Pokorny via lazarus napísal(a):

Hello (Michael)!

I started to use LazDataDesktop because PgAdmin4 is horrible.

I have a problem with transactions with Postgres connection (well I tested only Postgres connection).

I found out that when using the SQL editor, I can type "COMMIT" and "ROLLBACK" - so far so good. (Well I would like to have a tool button for these commands but OK for now - I may add them in the future.)

The real problem: I cannot apply edited data from the DB grid. I keep getting this error:

I have clicked on the tick button - it got disabled. I have also clicked on the button next to refresh - well I don't know that the button does because it has no hint and caption, but I clicked on it nevertheless :) :

But still I get the error above and the data is not written.

How can I commit the changes made in the data grid?

Thanks
Ondrej



--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] LazDataDesktop: transaction handling

Free Pascal - Lazarus mailing list


On Thu, 5 Sep 2019, LacaK via lazarus wrote:

> If data of underlaying TSQLQuery are presented and edited only thorought this
> DBGrid then I would add to TSQLQuery option "sqoAutoApplyUpdates".
> (I am not familiar with architecture of LazDataDesktop)
> Which causes that on every Post/Delete updates are applied to database.
> There will remain option to commit or rollback changes.

The grid was never meant to be editable. I simply forgot to disable that.
(I myself never ever edit in a grid, it didn't appear in my head that
someone would do this)

But I will :
a) Add the sqoAutoApplyUpdates option.
b) Add buttons for more explicit transaction control.

Michael.
--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] LazDataDesktop: transaction handling

Free Pascal - Lazarus mailing list
On 05.09.2019 8:20, Michael Van Canneyt via lazarus wrote:
> The grid was never meant to be editable. I simply forgot to disable that.
> (I myself never ever edit in a grid, it didn't appear in my head that
> someone would do this)
>
> But I will :
> a) Add the sqoAutoApplyUpdates option.
> b) Add buttons for more explicit transaction control.

Thank you Michael. I assume I can help you with that.

I can also help with the editable grid. Editing could be enabled only if
the table has a primary key or a unique index, for example. I sometimes
need to edit raw data when something went wrong during the
development/debugging. (And I tend to be lazy to type an UPDATE
statement manually although LazDataDesktop offers a template for it :) )

Ondrej

--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus