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

Alfonso Arias Lemas alfonsoariaslemas en gmail.com
Vie Abr 5 15:21:46 CEST 2019


Hola José.
Implementé el ejemplo que mandas en

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


y continua a dar el mismo error, me llamó la atención que es para Delphi 
pero no se si sería equivalente 100% para Lazarus. A modo de ejemplo use 
la misma query mostrada en el Email enviado por mi que podría ser un 
procedimiento almacenado sin duda pero para ejemplificar sirve.

*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;**
*
en este caso yo necesito que si es actualizada una sentencia sea la otra 
también y si no nada.

*Alfonso**Arias Lemas*

Email: alfonsoariaslemas en gmail.com <mailto:alfonsoariaslemas en gmail.com>

Skype: alfonso291104

Viber: +34 666072614

WhatsApp: +34 666072614

Móvel CV: *+238 5882123/9578108*

El 5/4/2019 a las 6:58 AM, José Mejuto via Lazarus-es escribió:
> 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.
>
>

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20190405/a59ef96e/attachment-0001.html>


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