Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2011-07

Comportamiento Lazarus y firebird

6 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Manuel Galeote

Hola a todos.

Estoy comenzando a desarrollar una aplicaci�n para windows y he decidido usar Lazarus y Firebird por la capacidad, de con relativamente poco cambio, poder usarlo en otro sistema operativo (Linux o mac). Con Lazarus alguna cosa he hecho pero en firebird no tengo ninguna experiencia.

He comenzado con mal pie al usar zeos 6.6.6 y firebird 2.5 ya que me da en la nariz que no son muy compatibles. A partir de aqu� he bajado a firebird 2.1 y todo ha funcionado mejor pero me estoy encontrando con alg�n que otro problemilla y agradecer�a a quien tenga experiencia en el tema que me dijera si esto es normal.

Tengo un formulario principal donde hago la conexi�n con un zconnection y un formulario donde permito modifca datos con un ztable,dataset, grid y edt�

Si ejecuto la aplicaci�n, se conecta correctamente a la base de datos y puedo hacer los cambios que quiera.

Ejecuto la aplicaci�n 2 veces (simulo el uso en 2 ordenadores), cuando realizo cambios en la tabla en el primer programa el segundo no refresca los cambios. Entiendo que es normal ya que supongo que tendr� que hacer un refresco de datos en la tabla.

Pues no funciona nada, hasta que no fuerce una desconexi�n de la base de datos y vuelva a conectar. He probado con un componente de tabla y con otro de query y a hacer refresh de la tabla, close y open o poner el active a false y luego a true y no refrescan los datos. Tengo necesariamente que desactivar la conexi�n y volver a conectarla para que lo haga.

Alguien sabe por qu� pasa.

Un saludo.

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110721/6621e120/attachment.html>

Reply by email

Maxi
to Manuel Galeote

Para ver los cambio aun no confirmados tenes que confugurar la transaccion como tiReadUncommitted, esto hara que veas lo que queres, pero hasta que no hagas comit de la transaccion no se confirman los datos. no hace falta desconectarte solo hacet zconnection.commit, o configurarla como autocommit.

2011/7/21 Manuel Galeote <manuel en clublazarus.com>

Show quoted text 43 lines
Hola a todos.**** Estoy comenzando a desarrollar una aplicaci�n para windows y he decidido usar Lazarus y Firebird por la capacidad, de con relativamente poco cambio, poder usarlo en otro sistema operativo (Linux o mac). Con Lazarus alguna cosa he hecho pero en firebird no tengo ninguna experiencia.**** He comenzado con mal pie al usar zeos 6.6.6 y firebird 2.5 ya que me da en la nariz que no son muy compatibles. A partir de aqu� he bajado a firebird 2.1 y todo ha funcionado mejor pero me estoy encontrando con alg�n que otro problemilla y agradecer�a a quien tenga experiencia en el tema que me dijera si esto es normal.**** Tengo un formulario principal donde hago la conexi�n con un zconnection y un formulario donde permito modifca datos con un ztable,dataset, grid y edt? **** Si ejecuto la aplicaci�n, se conecta correctamente a la base de datos y puedo hacer los cambios que quiera.**** Ejecuto la aplicaci�n 2 veces (simulo el uso en 2 ordenadores), cuando realizo cambios en la tabla en el primer programa el segundo no refresca los cambios. Entiendo que es normal ya que supongo que tendr� que hacer un refresco de datos en la tabla.**** Pues no funciona nada, hasta que no fuerce una desconexi�n de la base de datos y vuelva a conectar. He probado con un componente de tabla y con otro de query y a hacer refresh de la tabla, close y open o poner el active a false y luego a true y no refrescan los datos. Tengo necesariamente que desactivar la conexi�n y volver a conectarla para que lo haga.**** Alguien sabe por qu� pasa.**** Un saludo.**** ** ** _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Twitter: @nenunocomar Identi.ca: @nenuno Linux User #495070 Ubuntu User #28504 http://miexperiencialinux.blogspot.com/ El que pregunta aprende, y el que contesta aprende a responder. ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110721/04fdab98/attachment.html>

Reply by email

Ismael L. Donis Garcia
to Manuel Galeote: Hola a todos. Estoy comenzando a desarrollar una aplicaci�n para windows y he decidido…

El problema lo tienes porque no estas haciendo el Commit de la transacci�n, eso no tiene nada que ver con firebird.

Otra cosa me parece que lo que deb�as de optar es por no usar zeos ya que el soporte no va al mismo ritmo de lazarus, en vez de haber decidirte por usar o una distribuci�n de firebird u otra, aunque yo en lo personal no recomiendo tampoco a nadie que para un desarrollo serio use la versi�n 2.5 de firebird porque tiene muchos insectos, eso si pueden usar perfectamente la �ltima foto de la versi�n 2.5.1 la cual ya se le han corregido muchos insectos, la cual considero que no faltar� mucho en salir como candidate 1 del pr�ximo rel�ase.

Otra cosa te recomiendo que trabajes todas las actualizaciones con procedimientos almacenados, factor este que te va a evitar muchos dolores de cabeza con las aplicaciones cliente-servidor.

Saludos Cordiales
=========
|| ISMAEL ||
=========
PD: Mi caso es todo lo contrario al tuyo, muchos conocimientos en el manejo de RDBMS y muy pocos de Lazarus.

Earlier message 32 lines
----- Original Message ----- From: Manuel Galeote To: Lazarus-es en lists.lazarus.freepascal.org Sent: Thursday, July 21, 2011 8:07 AM Subject: [Lazarus-es] Comportamiento Lazarus y firebird Hola a todos. Estoy comenzando a desarrollar una aplicaci�n para windows y he decidido usar Lazarus y Firebird por la capacidad, de con relativamente poco cambio, poder usarlo en otro sistema operativo (Linux o mac). Con Lazarus alguna cosa he hecho pero en firebird no tengo ninguna experiencia. He comenzado con mal pie al usar zeos 6.6.6 y firebird 2.5 ya que me da en la nariz que no son muy compatibles. A partir de aqu� he bajado a firebird 2.1 y todo ha funcionado mejor pero me estoy encontrando con alg�n que otro problemilla y agradecer�a a quien tenga experiencia en el tema que me dijera si esto es normal. Tengo un formulario principal donde hago la conexi�n con un zconnection y un formulario donde permito modifca datos con un ztable,dataset, grid y edt. Si ejecuto la aplicaci�n, se conecta correctamente a la base de datos y puedo hacer los cambios que quiera. Ejecuto la aplicaci�n 2 veces (simulo el uso en 2 ordenadores), cuando realizo cambios en la tabla en el primer programa el segundo no refresca los cambios. Entiendo que es normal ya que supongo que tendr� que hacer un refresco de datos en la tabla. Pues no funciona nada, hasta que no fuerce una desconexi�n de la base de datos y vuelva a conectar. He probado con un componente de tabla y con otro de query y a hacer refresh de la tabla, close y open o poner el active a false y luego a true y no refrescan los datos. Tengo necesariamente que desactivar la conexi�n y volver a conectarla para que lo haga. Alguien sabe por qu� pasa. Un saludo. ------------------------------------------------------------------------------

Reply by email

Manuel Galeote
to Ismael L. Donis Garcia

Gracias, en zeos ten�a el autocommit a true pero no funcionaba, finalmente he cambiado zeos por sqldb y aparentemente ahora, tecleando todo a mano y abriendo y cerrando las conexiones a la base de datos dentro de cada formulario (antes intent� usar un form com�n), creo que voy por buen camino.

He probado los procedimientos almacenados cre�ndolos con ibexpert personal, me ha costado un poco encontrar la l�gica y la forma de usarlos pero finalmente lo he conseguido y parece que funciona bien. De todas formas os agradecer�a que me confirmarais si voy por buen camino o hay otra forma de hacer u optimizar lo siguiente.

El procedimiento ser�a este:

CREATE OR ALTER PROCEDURE USUARIOS_NUEVO (

usuario varchar(80),

clave varchar(80),

nivel integer)

as

begin
  /* Nuevo usuario */
INSERT INTO USUARIOS (USUARIO,CLAVE,NIVEL) values (:USUARIO, :CLAVE,
:NIVEL);
  suspend;
end

Y el c�digo el siguiente:

  try
    SQLQryOrdenes.SQL.Clear;
    SQLQryOrdenes.SQL.Text := 'EXECUTE PROCEDURE USUARIOS_NUEVO :USUARIO,
:CLAVE, :NIVEL;';
    SQLQryOrdenes.ParamByName('USUARIO').Value:=edtUsuario.Text;
    SQLQryOrdenes.ParamByName('CLAVE').Value:=cifra(edtPassword.Text);
    //Genera el nivel con relaci�n al ItemIndex
    // 0=Control total
    // 1=Usuario
   // 2=�
    SQLQryOrdenes.ParamByName('NIVEL').Value:=cbNivel.ItemIndex;
   SQLQryOrdenes.ExecSQL;
   SQLTransactionVAV.CommitRetaining;
   SQLQryUsuarios.Refresh;
   except
    ShowMessage('Error: al guardar los datos en la tabla');
end;

Un saludo.

De: Ismael L. Donis Garcia [mailto:ismael en citricos.co.cu] Enviado el: jueves, 21 de julio de 2011 15:35
Para: Spanish version of Lazarus List
Asunto: Re: [Lazarus-es] Comportamiento Lazarus y firebird

El problema lo tienes porque no estas haciendo el Commit de la transacci�n, eso no tiene nada que ver con firebird.

Otra cosa me parece que lo que deb�as de optar es por no usar zeos ya que el soporte no va al mismo ritmo de lazarus, en vez de haber decidirte por usar o una distribuci�n de firebird u otra, aunque yo en lo personal no recomiendo tampoco a nadie que para un desarrollo serio use la versi�n 2.5 de firebird porque tiene muchos insectos, eso si pueden usar perfectamente la �ltima foto de la versi�n 2.5.1 la cual ya se le han corregido muchos insectos, la cual considero que no faltar� mucho en salir como candidate 1 del pr�ximo rel�ase.

Otra cosa te recomiendo que trabajes todas las actualizaciones con procedimientos almacenados, factor este que te va a evitar muchos dolores de cabeza con las aplicaciones cliente-servidor.

Saludos Cordiales

=========
|| ISMAEL ||
=========

PD: Mi caso es todo lo contrario al tuyo, muchos conocimientos en el manejo de RDBMS y muy pocos de Lazarus.

Earlier message 52 lines
----- Original Message ----- From: Manuel Galeote <mailto:manuel en clublazarus.com> To: Lazarus-es en lists.lazarus.freepascal.org Sent: Thursday, July 21, 2011 8:07 AM Subject: [Lazarus-es] Comportamiento Lazarus y firebird Hola a todos. Estoy comenzando a desarrollar una aplicaci�n para windows y he decidido usar Lazarus y Firebird por la capacidad, de con relativamente poco cambio, poder usarlo en otro sistema operativo (Linux o mac). Con Lazarus alguna cosa he hecho pero en firebird no tengo ninguna experiencia. He comenzado con mal pie al usar zeos 6.6.6 y firebird 2.5 ya que me da en la nariz que no son muy compatibles. A partir de aqu� he bajado a firebird 2.1 y todo ha funcionado mejor pero me estoy encontrando con alg�n que otro problemilla y agradecer�a a quien tenga experiencia en el tema que me dijera si esto es normal. Tengo un formulario principal donde hago la conexi�n con un zconnection y un formulario donde permito modifca datos con un ztable,dataset, grid y edt� Si ejecuto la aplicaci�n, se conecta correctamente a la base de datos y puedo hacer los cambios que quiera. Ejecuto la aplicaci�n 2 veces (simulo el uso en 2 ordenadores), cuando realizo cambios en la tabla en el primer programa el segundo no refresca los cambios. Entiendo que es normal ya que supongo que tendr� que hacer un refresco de datos en la tabla. Pues no funciona nada, hasta que no fuerce una desconexi�n de la base de datos y vuelva a conectar. He probado con un componente de tabla y con otro de query y a hacer refresh de la tabla, close y open o poner el active a false y luego a true y no refrescan los datos. Tengo necesariamente que desactivar la conexi�n y volver a conectarla para que lo haga. Alguien sabe por qu� pasa. Un saludo. _____

Reply by email

Ismael L. Donis Garcia
to Manuel Galeote

Yo te har�a 2 correcciones: 1 en Firebird y otra en Lazarus. Aunque no se cual es la llave primaria de la tabla USUARIOS, pero al menos creo que tengas definido al campo usuarios.usuario con un �ndice �nico, para que no puedas tener 2 usuarios con el mismo nombre.

El procedimiento almacenado lo har�a como sigue:

CREATE OR ALTER PROCEDURE USUARIOS_NUEVO (

usuario varchar(80),

clave varchar(80),

nivel integer)

as

DECLARE VARIABLE VCH_USER VARCHAR(80);
begin
  /* Nuevo usuario */
select first 1 u.usuario from usuarios u where (u.usuario=:usuario) into :vch_user;
if (row_count = 0) then
    INSERT INTO USUARIOS (USUARIO,CLAVE,NIVEL) values (:USUARIO, :CLAVE, :NIVEL);
end

En lazarus lo har�a como sigue (pero recuerda que mi experiencia aqu� es mucho menor, mi experiencia en Lazarus o en Delphi que es nula, pero no as� en los lenguajes de Microsoft que es bastante amplia, llevo m�s de 10 a�os desarrollando soft en varios lenguajes de Visual Estudio)

  if SQLTransactionVAV.Active then begin
    try try
      SQLTransactionVAV.Commit;
    except on e:exception do
      SQLTransactionVAV.Rollback;
    end;
    finally
      SQLTransactionVAV.EndTransaction;
    end;
  end;
  SQLQryOrdenes.Close;
  SQLQryOrdenes.SQL.Clear;
  SQLQryOrdenes.SQL.Text := 'EXECUTE PROCEDURE USUARIOS_NUEVO(:USUARIO, :CLAVE, :NIVEL)';
  SQLQryOrdenes.ParamByName('USUARIO').Value:=edtUsuario.Text;
  SQLQryOrdenes.ParamByName('CLAVE').Value:=cifra(edtPassword.Text);
  //Genera el nivel con relaci�n al ItemIndex
  SQLQryOrdenes.ParamByName('NIVEL').Value:=cbNivel.ItemIndex;
  try try
   SQLTransactionVAV.StartTransaction;
    SQLQryOrdenes.ExecSQL;
    SQLTransactionVAV.Commit;
  except
     begin
        ShowMessage('Error: al guardar los datos en la tabla');
        SQLTransactionVAV.Rollback;
     end
  end;
  finally
    SQLTransactionVAV.EndTransaction;
  end
  SQLQryUsuarios.Active:=false;
  SQLQryUsuarios.Active:=true;

Saludos Reiterados

=========
|| ISMAEL ||
=========

Earlier message 143 lines
----- Original Message ----- From: Manuel Galeote To: 'Spanish version of Lazarus List' Sent: Friday, July 22, 2011 6:42 AM Subject: Re: [Lazarus-es] Comportamiento Lazarus y firebird Gracias, en zeos ten�a el autocommit a true pero no funcionaba, finalmente he cambiado zeos por sqldb y aparentemente ahora, tecleando todo a mano y abriendo y cerrando las conexiones a la base de datos dentro de cada formulario (antes intent� usar un form com�n), creo que voy por buen camino. He probado los procedimientos almacenados cre�ndolos con ibexpert personal, me ha costado un poco encontrar la l�gica y la forma de usarlos pero finalmente lo he conseguido y parece que funciona bien. De todas formas os agradecer�a que me confirmarais si voy por buen camino o hay otra forma de hacer u optimizar lo siguiente. El procedimiento ser�a este: CREATE OR ALTER PROCEDURE USUARIOS_NUEVO ( usuario varchar(80), clave varchar(80), nivel integer) as begin /* Nuevo usuario */ INSERT INTO USUARIOS (USUARIO,CLAVE,NIVEL) values (:USUARIO, :CLAVE, :NIVEL); suspend; end Y el c�digo el siguiente: try SQLQryOrdenes.SQL.Clear; SQLQryOrdenes.SQL.Text := 'EXECUTE PROCEDURE USUARIOS_NUEVO :USUARIO, :CLAVE, :NIVEL;'; SQLQryOrdenes.ParamByName('USUARIO').Value:=edtUsuario.Text; SQLQryOrdenes.ParamByName('CLAVE').Value:=cifra(edtPassword.Text); //Genera el nivel con relaci�n al ItemIndex // 0=Control total // 1=Usuario // 2=. SQLQryOrdenes.ParamByName('NIVEL').Value:=cbNivel.ItemIndex; SQLQryOrdenes.ExecSQL; SQLTransactionVAV.CommitRetaining; SQLQryUsuarios.Refresh; except ShowMessage('Error: al guardar los datos en la tabla'); end; Un saludo. De: Ismael L. Donis Garcia [mailto:ismael en citricos.co.cu] Enviado el: jueves, 21 de julio de 2011 15:35 Para: Spanish version of Lazarus List Asunto: Re: [Lazarus-es] Comportamiento Lazarus y firebird El problema lo tienes porque no estas haciendo el Commit de la transacci�n, eso no tiene nada que ver con firebird. Otra cosa me parece que lo que deb�as de optar es por no usar zeos ya que el soporte no va al mismo ritmo de lazarus, en vez de haber decidirte por usar o una distribuci�n de firebird u otra, aunque yo en lo personal no recomiendo tampoco a nadie que para un desarrollo serio use la versi�n 2.5 de firebird porque tiene muchos insectos, eso si pueden usar perfectamente la �ltima foto de la versi�n 2.5.1 la cual ya se le han corregido muchos insectos, la cual considero que no faltar� mucho en salir como candidate 1 del pr�ximo rel�ase. Otra cosa te recomiendo que trabajes todas las actualizaciones con procedimientos almacenados, factor este que te va a evitar muchos dolores de cabeza con las aplicaciones cliente-servidor. Saludos Cordiales ========= || ISMAEL || ========= PD: Mi caso es todo lo contrario al tuyo, muchos conocimientos en el manejo de RDBMS y muy pocos de Lazarus. ----- Original Message ----- From: Manuel Galeote To: Lazarus-es en lists.lazarus.freepascal.org Sent: Thursday, July 21, 2011 8:07 AM Subject: [Lazarus-es] Comportamiento Lazarus y firebird Hola a todos. Estoy comenzando a desarrollar una aplicaci�n para windows y he decidido usar Lazarus y Firebird por la capacidad, de con relativamente poco cambio, poder usarlo en otro sistema operativo (Linux o mac). Con Lazarus alguna cosa he hecho pero en firebird no tengo ninguna experiencia. He comenzado con mal pie al usar zeos 6.6.6 y firebird 2.5 ya que me da en la nariz que no son muy compatibles. A partir de aqu� he bajado a firebird 2.1 y todo ha funcionado mejor pero me estoy encontrando con alg�n que otro problemilla y agradecer�a a quien tenga experiencia en el tema que me dijera si esto es normal. Tengo un formulario principal donde hago la conexi�n con un zconnection y un formulario donde permito modifca datos con un ztable,dataset, grid y edt. Si ejecuto la aplicaci�n, se conecta correctamente a la base de datos y puedo hacer los cambios que quiera. Ejecuto la aplicaci�n 2 veces (simulo el uso en 2 ordenadores), cuando realizo cambios en la tabla en el primer programa el segundo no refresca los cambios. Entiendo que es normal ya que supongo que tendr� que hacer un refresco de datos en la tabla. Pues no funciona nada, hasta que no fuerce una desconexi�n de la base de datos y vuelva a conectar. He probado con un componente de tabla y con otro de query y a hacer refresh de la tabla, close y open o poner el active a false y luego a true y no refrescan los datos. Tengo necesariamente que desactivar la conexi�n y volver a conectarla para que lo haga. Alguien sabe por qu� pasa. Un saludo. ----------------------------------------------------------------------------

Reply by email

Manuel Galeote
to Ismael L. Donis Garcia

Gracias Ismael, me han sido de gran ayuda tus comentarios para iniciarme en el uso de las transacciones y procedimientos.

Un saludo.

De: Ismael L. Donis Garcia [mailto:ismael en citricos.co.cu] Enviado el: viernes, 22 de julio de 2011 17:45
Para: Spanish version of Lazarus List
Asunto: Re: [Lazarus-es] Comportamiento Lazarus y firebird

Yo te har�a 2 correcciones: 1 en Firebird y otra en Lazarus. Aunque no se cual es la llave primaria de la tabla USUARIOS, pero al menos creo que tengas definido al campo usuarios.usuario con un �ndice �nico, para que no puedas tener 2 usuarios con el mismo nombre.

El procedimiento almacenado lo har�a como sigue:

CREATE OR ALTER PROCEDURE USUARIOS_NUEVO (

usuario varchar(80),

clave varchar(80),

nivel integer)

as

DECLARE VARIABLE VCH_USER VARCHAR(80);
begin
  /* Nuevo usuario */
select first 1 u.usuario from usuarios u where (u.usuario=:usuario) into
:vch_user;
if (row_count = 0) then
    INSERT INTO USUARIOS (USUARIO,CLAVE,NIVEL) values (:USUARIO, :CLAVE,
:NIVEL);
end

En lazarus lo har�a como sigue (pero recuerda que mi experiencia aqu� es mucho menor, mi experiencia en Lazarus o en Delphi que es nula, pero no as� en los lenguajes de Microsoft que es bastante amplia, llevo m�s de 10 a�os desarrollando soft en varios lenguajes de Visual Estudio)

  if SQLTransactionVAV.Active then begin
    try try
      SQLTransactionVAV.Commit;
    except on e:exception do
      SQLTransactionVAV.Rollback;
    end;
    finally
      SQLTransactionVAV.EndTransaction;
    end;
  end;
  SQLQryOrdenes.Close;
  SQLQryOrdenes.SQL.Clear;
  SQLQryOrdenes.SQL.Text := 'EXECUTE PROCEDURE USUARIOS_NUEVO(:USUARIO,
:CLAVE, :NIVEL)';
  SQLQryOrdenes.ParamByName('USUARIO').Value:=edtUsuario.Text;
  SQLQryOrdenes.ParamByName('CLAVE').Value:=cifra(edtPassword.Text);
  //Genera el nivel con relaci�n al ItemIndex
  SQLQryOrdenes.ParamByName('NIVEL').Value:=cbNivel.ItemIndex;
  try try
  SQLTransactionVAV.StartTransaction;
    SQLQryOrdenes.ExecSQL;
    SQLTransactionVAV.Commit;
  except
     begin
        ShowMessage('Error: al guardar los datos en la tabla');
        SQLTransactionVAV.Rollback;
     end
  end;
  finally
    SQLTransactionVAV.EndTransaction;
  end
  SQLQryUsuarios.Active:=false;
  SQLQryUsuarios.Active:=true;

Saludos Reiterados

=========
|| ISMAEL ||
=========

Earlier message 186 lines
----- Original Message ----- From: Manuel Galeote <mailto:manuel en clublazarus.com> To: 'Spanish version of Lazarus List' <mailto:lazarus-es en lists.lazarus.freepascal.org> Sent: Friday, July 22, 2011 6:42 AM Subject: Re: [Lazarus-es] Comportamiento Lazarus y firebird Gracias, en zeos ten�a el autocommit a true pero no funcionaba, finalmente he cambiado zeos por sqldb y aparentemente ahora, tecleando todo a mano y abriendo y cerrando las conexiones a la base de datos dentro de cada formulario (antes intent� usar un form com�n), creo que voy por buen camino. He probado los procedimientos almacenados cre�ndolos con ibexpert personal, me ha costado un poco encontrar la l�gica y la forma de usarlos pero finalmente lo he conseguido y parece que funciona bien. De todas formas os agradecer�a que me confirmarais si voy por buen camino o hay otra forma de hacer u optimizar lo siguiente. El procedimiento ser�a este: CREATE OR ALTER PROCEDURE USUARIOS_NUEVO ( usuario varchar(80), clave varchar(80), nivel integer) as begin /* Nuevo usuario */ INSERT INTO USUARIOS (USUARIO,CLAVE,NIVEL) values (:USUARIO, :CLAVE, :NIVEL); suspend; end Y el c�digo el siguiente: try SQLQryOrdenes.SQL.Clear; SQLQryOrdenes.SQL.Text := 'EXECUTE PROCEDURE USUARIOS_NUEVO :USUARIO, :CLAVE, :NIVEL;'; SQLQryOrdenes.ParamByName('USUARIO').Value:=edtUsuario.Text; SQLQryOrdenes.ParamByName('CLAVE').Value:=cifra(edtPassword.Text); //Genera el nivel con relaci�n al ItemIndex // 0=Control total // 1=Usuario // 2=� SQLQryOrdenes.ParamByName('NIVEL').Value:=cbNivel.ItemIndex; SQLQryOrdenes.ExecSQL; SQLTransactionVAV.CommitRetaining; SQLQryUsuarios.Refresh; except ShowMessage('Error: al guardar los datos en la tabla'); end; Un saludo. De: Ismael L. Donis Garcia [mailto:ismael en citricos.co.cu] Enviado el: jueves, 21 de julio de 2011 15:35 Para: Spanish version of Lazarus List Asunto: Re: [Lazarus-es] Comportamiento Lazarus y firebird El problema lo tienes porque no estas haciendo el Commit de la transacci�n, eso no tiene nada que ver con firebird. Otra cosa me parece que lo que deb�as de optar es por no usar zeos ya que el soporte no va al mismo ritmo de lazarus, en vez de haber decidirte por usar o una distribuci�n de firebird u otra, aunque yo en lo personal no recomiendo tampoco a nadie que para un desarrollo serio use la versi�n 2.5 de firebird porque tiene muchos insectos, eso si pueden usar perfectamente la �ltima foto de la versi�n 2.5.1 la cual ya se le han corregido muchos insectos, la cual considero que no faltar� mucho en salir como candidate 1 del pr�ximo rel�ase. Otra cosa te recomiendo que trabajes todas las actualizaciones con procedimientos almacenados, factor este que te va a evitar muchos dolores de cabeza con las aplicaciones cliente-servidor. Saludos Cordiales ========= || ISMAEL || ========= PD: Mi caso es todo lo contrario al tuyo, muchos conocimientos en el manejo de RDBMS y muy pocos de Lazarus. ----- Original Message ----- From: Manuel Galeote <mailto:manuel en clublazarus.com> To: Lazarus-es en lists.lazarus.freepascal.org Sent: Thursday, July 21, 2011 8:07 AM Subject: [Lazarus-es] Comportamiento Lazarus y firebird Hola a todos. Estoy comenzando a desarrollar una aplicaci�n para windows y he decidido usar Lazarus y Firebird por la capacidad, de con relativamente poco cambio, poder usarlo en otro sistema operativo (Linux o mac). Con Lazarus alguna cosa he hecho pero en firebird no tengo ninguna experiencia. He comenzado con mal pie al usar zeos 6.6.6 y firebird 2.5 ya que me da en la nariz que no son muy compatibles. A partir de aqu� he bajado a firebird 2.1 y todo ha funcionado mejor pero me estoy encontrando con alg�n que otro problemilla y agradecer�a a quien tenga experiencia en el tema que me dijera si esto es normal. Tengo un formulario principal donde hago la conexi�n con un zconnection y un formulario donde permito modifca datos con un ztable,dataset, grid y edt� Si ejecuto la aplicaci�n, se conecta correctamente a la base de datos y puedo hacer los cambios que quiera. Ejecuto la aplicaci�n 2 veces (simulo el uso en 2 ordenadores), cuando realizo cambios en la tabla en el primer programa el segundo no refresca los cambios. Entiendo que es normal ya que supongo que tendr� que hacer un refresco de datos en la tabla. Pues no funciona nada, hasta que no fuerce una desconexi�n de la base de datos y vuelva a conectar. He probado con un componente de tabla y con otro de query y a hacer refresh de la tabla, close y open o poner el active a false y luego a true y no refrescan los datos. Tengo necesariamente que desactivar la conexi�n y volver a conectarla para que lo haga. Alguien sabe por qu� pasa. Un saludo. _____

Reply by email