[Lazarus-es] Problema con Zeos e PostgreSQL en versión de Lazarus 2.00

José Mejuto joshyfun en gmail.com
Vie Abr 5 09:58:07 CEST 2019


El 04/04/2019 a las 23:46, Alfonso Arias Lemas via Lazarus-es escribió:

> Resalto que esto no sucedía antes.
> Haciendo un /debugger /(depurando el sistema) tomo las sentencias SQL 
> para PostgreSQL que da error desde el sistema y a modo de ejemplo:
> 
> *UPDATE app.a_arbol SET cod='00096',descrip='MTCV' WHERE id=5200;
> UPDATE app.a_pt SET 
> longitud=-23.491440000000,latitud=14.919906000000,control_ip=0,circuito_comando=True,comentario='',
> potencianominal=20.0,tipofornecimento=1,estado=True WHERE idarbol=5200;
> *
> las coloco en el analizador de consultas del pgadmin e corren 
> perfectamente mas si ejecuto esta misma sentencia desde el programa me 
> da el error anterior.

Hola,

Múltiples sentencias en un único query no se deben de usar, porque si 
eso es válido, esto también debería serlo y verás que no tiene sentido:

-------
SELECT * from TABLENOMBRES;
SELECT * from TABLECOCHES;
-------

> Busque en otros forum mas lo unico que sugieren es que realiza las 
> transacciones sentencia por sentencia pero yo necesito que sea univoca y 
> atómica, o sea, todo o nada.

La transacción es eso, única y atómica. Todas las operaciones hasta que 
realices el Commit se harán en una sola operación, o el Commit fallará.

> 
> Alguien sabe si para la versión esta de Lazarus 2.00 y Zeos 7.2.4 existe 
> algún parámetro o propiedad nueva que permita hacer/definir 
> transacciones simples o complejas con mas de una sentencia.

Supongo que estás trabajando en modo "AutoCommit", eso lo que hace es 
que cada vez que realices una operación se ejecuta un "Commit" oculto. 
En este ejemplo de stackoverflow te lo muestran con código de ejemplo:

https://stackoverflow.com/questions/16759373/multiple-statements-delphi-tzquery-zeos-error

Saludos.


-- 



Más información sobre la lista de distribución Lazarus-es