Para usar Stored procedures con los componentes ADO yo hago lo siguiente en mis programas:
Ejemplo de Stored Procedure:
Código SQL
[-]CREATE PROCEDURE Actualizacion
@Param1 int,
@Llave int
AS
BEGIN
SET NOCOUNT ON
UPDATE TABLA
SET VALOR=@PARAM1
WHERE LLAVE=@LLAVE
END
En mi formulario o en un modulo de datos coloco un componente TAdoStoredProc, asigno sus propiedades (Connection, ProcedureName) y verifico que sus parameters esten correctos (basta con abrir la ventana de parameters). Luego ejecuto la llamada de la siguiente forma:
Código Delphi
[-]with AdoStoredProc1, Parameters do
begin
Parambyname('@PARAM1').value := ValorParametro1;
Parambyname('@LLAVE').value := ValorLlave;
ExecProc;
end;
Ahora si mi stored Procedure devuelve registros hago lo siguiente:
Código SQL
[-]CREATE PROCEDURE ListaDatos
@Param1 int,
@Param2 int
AS
BEGIN
SET NOCOUNT ON
SELECT CAMPO1,CAMPO2,CAMPO3
WHERE CAMPON=@Param1 AND CampoX=@Param2
ORDER BY Campo1
END
Y la llamada seria algo asi:
Código Delphi
[-]with AdoStoredProc2, Parameters do
begin
Parambyname('@PARAM1').value := ValorParametro1;
Parambyname('@PARAM2').value := ValorParametro2;
Open; end;
Estos son ejemplos basicos, faltaria la captura de excepciones, pero creo que como base sirve.
Saludos