[Lazarus-es] Error de FlameRobin? o error de Lazarus?
francisco prieto
fajprieto en gmail.com
Vie Mayo 22 21:36:48 CEST 2015
No, no anda....
Sigo con el mismo error...
La rutina la puse así en el botón de borrado.
procedure TfrmConfCom.btnBorrarClick(Sender: TObject);
var
lcSql,lcError:string;
lnFilasAfec:integer;
begin
lcSql:='DELETE FROM BALCONF'+
' WHERE IDCONF='+IntToStr(lnIdAct);
try
try
tAccionSql.StartTransaction;
qAccionSql.SQL.Text:=lcSql;
qAccionSql.ExecSQL;
lnFilasAfec:=qAccionSql.RowsAffected;
tAccionSql.Commit;
except on e:exception do
begin
lnFilasAfec:=0;
lcError:=e.Message;
tAccionSql.Rollback;
end;
end;
finally
tAccionSql.EndTransaction;
end;
1) Ejecuto el programa...
2) Me posiciono en el registro que quiero borrar.
3) Presiono el botón de borrar
4) Entro a FlameRobin
5) Ejecuto una consulta de la tabla y aparecen todos los registros incluso
el recién eliminado.
6) Cierro mi programa.
7) Vuelvo a ejecutar la consulta de la tabla con FlameRobin y ahora si el
registro fue eliminado.
Pueden indicarme donde esta el error.
Saludos y Gracias,
Pancho
Córdoba
Argentina
El vie., 22 may. 2015 a las 9:28, Ismael L. Donis Garcia (<
slibre en citricos.co.cu>) escribió:
> Eso mismo fue lo que le puse en el mensaje anterior, aunque no se lo
> dije esplicitamente, se te fijas en su código el no finaliza la
> transacción, y como yo le dije que lo hiciera si está la finalización de la
> transacción además de ponerlo dentro de un try para validar la opración lo
> cual a mi entender siempre se debe comprobar al operar con datos, incluso
> yo devuelvo siempre variales donde controlo el error y las filas afectadas
> por las operaciones de la siguiente forma: "un pedazo del codigo que
> utilizo"
>
> try try
> trausc.StartTransaction;
> rsusc.ExecSQL;
> intfilas := rsusc.RowsAffected;
> trausc.Commit;
>
> except on e:exception do
> begin
> intfilas := 0;
> strerror := e.Message;
> trausc.Rollback;
> end;
> end;
> finally
> trausc.EndTransaction;
> end;
> Por lo que al final de la operación siempre verifico el valor de la
> variable intfilas
>
> Tambien uso Firebird con los componentes nativos de Lazarus y nunca he
> tenido problema alguno. Para mi tanto los componentes nativos de Lazarus
> como Firebird son excelentes. Yo no veo necesidad alguna de usar zeus con
> Firebird.
>
> Saludos Reiterados
> ========
> | ISMAEL |
> ========
> Only for the small landowners and Cubans companies
> Website: www.sisconge.byethost15.com
> www.sisconge.hol.es
>
> ----- Original Message -----
> *From:* Iván Mesa <iv.mesa.prg en gmail.com>
> *To:* Spanish version of Lazarus List
> <lazarus-es en lists.lazarus.freepascal.org>
>
> *Sent:* Thursday, May 21, 2015 5:16 PM
> *Subject:* Re: [Lazarus-es] Error de FlameRobin? o error de Lazarus?
>
> Yo normalmente trabajo con Zeos y con SP en firebird.
> El commit refresca bien los datos en FlameRobin.
> Fíjate que no tengas abierta una transacción en flame robin. Por ejemplo,
> si ejecutas una select en FR, se abre una transacción, si no la cierras, y
> actualizas desde tu aplicación, no verás los cambios en FR hasta que
> finalices la transacción abierta con select.
> Al menos eso es lo que yo puedo apreciar.
> Suerte!!!
>
> El 21/05/2015 a las 22:31, francisco prieto escribió:
>
> Ismael lee el codigo por favor...
>
> Mi codigo es este.
>
> lcSql:='Update Contador Set Ultimo=Ultimo+1 Where NomClave=''BALCONF'' and
> Clave=''IDCONF''';
> tAccionSql.StartTransaction;
> qAccionSql.SQL.Text:=lcSql;
> qAccionSql.ExecSQL;
> tAccionSql.Commit;
>
> Lee La ultima linea... dice claramente Commit...
>
> Si la cambio por CommitRetain sigue dando el mismo error... es decir hasta
> que no salgo de la aplicacion no se actualiza en FlameRobin...
>
> Debe haber otro error.
>
> Saludos,
>
> Pancho
>
>
> El jue., 21 may. 2015 a las 17:19, francisco prieto (<fajprieto en gmail.com>)
> escribió:
>
>> No se si leistes mis respuestas pero precisamente uso transacciones
>> y estas no se reflejan hasta no cerrar la aplicacion.
>>
>> Estoy viendo ahora el CommitRetain que comenta Lewis, pero la info aclara
>> que esto es para no tener que volver a abrir una nueva transaccion, es
>> decir se deberia usar esto para decirle al motor hasta aca esta bien... aun
>> la transaccion sigue...
>>
>> En fin voy a seguir investigando, vi que en Delphi alguien posteo algo
>> parecido...
>>
>>
>> http://delphiaccess.com/foros/index.php/topic/11485-finalizar-transacci%C3%B3n-delphi-firebird/
>>
>> Lamentablemente si bien le dijeron que pruebe algo no dice si se
>> soluciono...
>>
>> Debe ser algo muy pavo, porque si uso el firebird desde vfp este problema
>> no existe... lo cual me indica que es un problema de programacion en
>> FreePascal...
>>
>> Los mantengo informados,
>>
>> Saludos,
>>
>> Pancho
>>
>> El jue., 21 may. 2015 a las 16:57, Iván Mesa (<iv.mesa.prg en gmail.com>)
>> escribió:
>>
>>> Quizás sea porque no usas transacciones.
>>> En flamerobin cuando ejecutas una actualización terminas la transacción
>>> con un commit (f5)
>>> Haz lo mismo desde lazarus o desde tus procedimientos almacenados.
>>> Saludos.
>>>
>>>
>>>
>>> El 21/05/2015 a las 21:03, francisco prieto escribió:
>>>
>>> Grupo,
>>>
>>> Estoy con un CRUD que me tiene loco...
>>>
>>> Realizo una modificacion en mis datos y hasta que no cierro el exe o
>>> termino mi sesion de pruebas no se actualiza en FlameRobin...
>>>
>>> A alguien le paso?
>>>
>>> Como lo solucionó?
>>>
>>> Saludos,
>>>
>>> Pancho
>>> Córdoba
>>> Argentina
>>>
>>>
>>> _______________________________________________
>>> Lazarus-es mailing listLazarus-es en lists.lazarus.freepascal.orghttp://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>>>
>>>
>>> _______________________________________________
>>> Lazarus-es mailing list
>>> Lazarus-es en lists.lazarus.freepascal.org
>>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>>>
>>
>
> _______________________________________________
> Lazarus-es mailing listLazarus-es en lists.lazarus.freepascal.orghttp://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>
>
> ------------------------------
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20150522/375cbdef/attachment-0002.html>
More information about the Lazarus-es
mailing list