[Lazarus-es] Error al actualizar

Maxi maximiliano.duarte en gmail.com
Mar Mar 16 21:31:36 CET 2010


El día 16 de marzo de 2010 17:27, Ismael L. Donis García
<ismael en citricos.co.cu> escribió:
> 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
>
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>


probaste de ejecutar el procedimiento desde la consola (flamerobin)
con los mismos valores que lo haces desde el programa? Esto
descartaria un problema de datos o de componente.

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

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




More information about the Lazarus-es mailing list