[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