Ver Mensaje Individual
  #6  
Antiguo 29-01-2006
Fita Fita is offline
Miembro
 
Registrado: jul 2003
Ubicación: Pilar - Argentina
Posts: 216
Reputación: 21
Fita Va por buen camino
Thumbs up

Bueno, crear un Stored Procedure es fácil... aqui va el código

CREATE PROCEDURE TOT_FAMILY
RETURNS (
NTOTAL INTEGER)
AS

begin
SELECT COUNT(*) FROM FAM000 where marcabaja = 'A' INTO nTotal;
end

Este procedimiento devuelve el total de familias activas (marcabaja = 'A') que lo guarda en la variable nTotal
En tu form pegas un componente IBTransction y un Componente IBStoredProcedure. Enlazas este último a la transaccion.
En la propiedad StoredProcedureName pones eso, el nombre del procedimiento, en este ejemplo Tot_Family

Para ejecutar el Stored Procedure haces esto en algun ciclo de tu programa:

IBStoredProc1.ExecProc; // ejecutas el procedure en el servidor
nRows := IBStoredProc1.Params.Items[0].Value;

La variable nRows recibe el total de registros que conto el Stored Procedure.
Si el Stored Procedure tuviese mas variables las sentecias que traen los datos serian así:
nRows := IBStoredProc1.Params.Items[0].Value;
nRows2 := IBStoredProc1.Params.Items[1].Value;
nRows3 := IBStoredProc1.Params.Items[2].Value;

Para mantener la base de datos te recomiendo usar (si es que no utilizas) un administrador de bases de datos ya que la creacion de Procedures, Tablas, Vistas, es es visual. Hay muchos y muy buenos, a saber:

IBWorkbench, IBAdmin, EMS Interbase & Firebird Manager (son pagos) y una buena cantidad de uso libre y Open Source.

En mi caso uso el EMS que es muy completo y ademas soporta Firebird al que pienso migrar en el futuro.

Espero que te sirva como punto de partida.
Saludos
Responder Con Cita