[Lazarus-es] Error al actualizar

Ismael L. Donis García ismael en citricos.co.cu
Mar Mar 16 21:27:05 CET 2010


No no están mal, dentro de la base de datos tengo defino el procedimiento de 
la siguiente forma:

SET TERM ^ ;
CREATE PROCEDURE PU_EAUM (
    VCH_ENTIDAD Varchar(7),
    VCH_UM Varchar(7) )
AS
begin
  /* Procedimiento para modificar las unidades de medidas */
  update eaum set um=:vch_um where ((eaum.entidad)=:vch_entidad);
end^
SET TERM ; ^

GRANT EXECUTE
 ON PROCEDURE PU_EAUM TO SYSDBA;

Y lo llamo en Lazarus de la siguiente forma: execute procedure 
pu_eaum(:entidad, :um)

El nombre de los parámetros en Lazarus no tienen que ser igual al nombre de 
los parámetros dentro de la BD de firebird, lo que importa es el orden en 
que pases los parámetros.

:entidad y :um son los nombres de los parámetros dentro de Lazarus y 
vch_entidad y vch_um dentro de la BD y tanto es así que el de insertar me 
funciona perfecto y lo tengo de la siguiente manera:

execute procedure pi_eaum(:entidad, :um)

mientras que dentro de la BD está de la siguiente forma:
SET TERM ^ ;
CREATE PROCEDURE PI_EAUM (
    VCH_ENTIDAD Varchar(7),
    VCH_UM Varchar(7) )
AS
begin
  /* Procedimiento para agregar las unidades de medidas */
  insert into eaum (entidad, um) values (:vch_entidad, :vch_um);
end^
SET TERM ; ^

GRANT EXECUTE
 ON PROCEDURE PI_EAUM TO SYSDBA;

Con esa misma tabla y esos mismos parámetros creo un ejemplo en Visual Basic 
y funciona perfecto.

Discúlpenme por mi respuesta, pero créenme aunque no conozco nada de Delphi 
ni de Lazarus, pero llevo más de 15 años trabajando en la línea de Microsoft 
y mis conocimientos sobre bases de datos y demás no son pocos que digamos.

Mis más sinceros saludos a todos y aun mucho más a los que me han ayudado o 
intentado ayudar en el mundo de Lazarus y del soft libre.
=========
|| ISMAEL ||
=========
----- Original Message ----- 
From: "Maxi" <maximiliano.duarte en gmail.com>
To: "Spanish version of Lazarus List" 
<lazarus-es en lists.lazarus.freepascal.org>
Sent: Tuesday, March 16, 2010 1:24 PM
Subject: Re: [Lazarus-es] Error al actualizar


tenes mal los parametros o los pasaste a la lista incorrectamente
en el procedimiento definiste:
pu_eaum(:entidad, :um)

y en el sql pones como parametros :vch_um y :vch_entidad

update eaum set um=:vch_um where ((eaum.entidad)=:vch_entidad);

No creo que ande nunca asi.

--
Maximiliano Duarte
Linux User #495070
Ubuntu User #28504

Tolerancia significa disculpar los defectos de los demás; tacto, no
reparar en ellos.

_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es






More information about the Lazarus-es mailing list