Retornar el resultado de un stored procedure de firebird en c#

En general querriamos poder saber un resultado especificado por nosotros de un procedimiento en nuestra base de datos, asi es como:
Dentro de la base de datos esta el siguiente procedimiento:

CREATE PROCEDURE SUMAUNO (
ENTRADAP INTEGER)
RETURNS (
VAR INTEGER)
AS
BEGIN

VAR=:ENTRADAP+1;
END

Lo unico que hace es recibir el parametro y retornar la suma del parametro mas uno, el mismo puede ser la suma de cosas dentro de la base de datos por ejemplo un total de ventas del mes o algo asi.
Dentro de c# lo siguiente:

FbConnection myConnection = new FbConnection(«ServerType=1;Dialect=3;Database=datos.gdb;»);
myConnection.Open();
FbTransaction myTxn = conn.BeginTransaction();
FbCommand myCommand = new FbCommand(«borrame(24);», conn, myTxn);
myCommand.CommandType = CommandType.StoredProcedure;

object y;

y=myCommand.ExecuteScalar();
myTxn.Commit();
myConnection.Close();

Luego y tendra el valor de 25, que deseguro habra que castear al tipo de datos que queremos usar, faltan los controles de errores y el dispose de los recursos reservados.

1 comentario en “Retornar el resultado de un stored procedure de firebird en c#

  1. Ignacio Salazar

    esta muy bueno el ejemplo que das… solo que me quedo la duda.
    mas bien me gustaria ver como es que obtienes el resultado o donde lo capturas
    en una variable que regresas, en un dataset o despues de ejecutar el procedimiento
    almacenado como guardas el valor que retorna.

    espero y no te afenda con mi pregunta pero no soy un programador experto
    y me gustaria saber.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.