HELP (procedimiento almacenado en firebird )
hola amigos disculpad la molestia.
Hago el siguiente Procedimiento en Firebird 1.5 SET TERM ^ ; CREATE PROCEDURE SP_MODIFICA_EMPRESA( CODIGO CHAR(1) CHARACTER SET WIN1251, NRUC VARCHAR(13) CHARACTER SET WIN1251, NNOMBRE VARCHAR(50) CHARACTER SET WIN1251, NRESPONSABLE VARCHAR(50) CHARACTER SET WIN1251, NDIRECCION VARCHAR(50) CHARACTER SET WIN1251, NIVA NUMERIC(15, 2)) AS BEGIN /* Procedure body */ UPDATE DATOS SET RUC = :NRUC, NOMBRE = :NNOMBRE, RESPONSABLE = :NRESPONSABLE, DIRECCION = :NDIRECCION, IVA = :NIVA WHERE COD = :CODIGO; END^ el problema es que al probarlo no realiza la accion supuesta (actualizar el registro) sale un mensaje de 0 registros afectados podrias ayudarme |
Pues si no se afectan registros es por que de seguro no existe ningún registro igual a CODIGO...
Otra cosa, veo que CODIGO está definido como CHAR(1), no se si sea un error que tuviste al declarar el procedimiento o esa sea la longitud que usa el campo COD de la tabla... Saludos... |
char(1)
La verdad es que el campo codigo es tan solo ficticio ya que solo contara la tabla con 6 registros y por eso le puse char[1] para agilizar las cosas.
Bueno al probarlo escribo un codigo (1) para probarlo y se que existe puesto lo acabo de ingresar y al ejecutar el SP no me afecta a este registro |
Se me hace que tu problema es con las transacciones...
Desde donde estás haciendo las pruebas? Algún manejador de bases de datos para Firebird/Interbase o desde tu aplicación en desarrollo? Saludos... |
¿como ejecutas el SP?
- porque si lo ejecutas como: execute procedure SP_MODIFICA_EMPRESA(1, 'resto de parámetros'...) Realmente no está recibiendo el caracter '1', sino el código ascii de dicho caracter. Creo que se debería ejecutar más o menos: execute procedure SP_MODIFICA_EMPRESA('1', 'resto de parámetros'...) ¿acierto o divago? :D Saludos |
desde un manejador
El sp lo creo y lo pruebo en un manejador para interbase/firebird EMS manager 2005
Y da la facilidad de un asistente para estas tareas y lo ejecuto por este asistente. Ya voy a probarlo desde la aplicacion a ver que pasa |
La franja horaria es GMT +2. Ahora son las 14:10:39. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi