[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