Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-06-2018
ASAPLTDA ASAPLTDA is offline
Miembro
 
Registrado: jun 2003
Ubicación: COLOMBIA-CALI
Posts: 639
Poder: 21
ASAPLTDA Va por buen camino
Ejecutar Procedimiento MS SQL server con fDstoreProcedure

Hola quiero ejecutar e siguiente procemiento de sqlserver, pero no me funciona podria alguien indicarme como hacerlo Gracias

Código SQL [-]
ALTER Procedure [dbo].[sp_rever]
@p_rowid_docto    int = 0,
@p_rowid_movto    int,     
@p_error int output,
@p_cadena_error varchar(500) output,
@p_ind_ubi_lote  smallint = 0
as
begin
 -- set  @p_error=0
 --   set @p_cadena_error = 'respuesta de este procedimiento:'  +  cast(@p_rowid_docto as char(1))
 --  set @p_cadena_error = 'respuesta de este procedimiento:' + CAST( @p_rowid_docto as varchar); 

End

y quiero saber como definir y leer las variables de salida del procedimiento


Código Delphi [-]
Function TFPedidosCierresAplazarEntrega.Cancelar_conpromiso(p_rowid_docto,p_rowid_movto:integer; var p_cadena_error:string ):Boolean ;
var
  W_p_error :string;

begin
   d.sp_inv_comprom_auto_rever.Params.ParamByName('@p_rowid_docto').AsInteger:=  p_rowid_docto ;
    d.sp_inv_comprom_auto_rever.Params.ParamByName('@p_rowid_movto').AsInteger:=  p_rowid_movto ;
    d.sp_inv_comprom_auto_rever.ExecProc;

    G_ERROR    :=  d.sp_inv_comprom_auto_rever.Params.ParamByName('@p_error').AsString;
    G_MSGERROR :=  d.sp_inv_comprom_auto_rever.Params.ParamByName('@p_cadena_error').asString ;
    g_RETURN_VALUE:=     d.sp_inv_comprom_auto_rever.Params.ParamByName('@RETURN_VALUE').asString ;
Responder Con Cita
  #2  
Antiguo 29-06-2018
Alex Mireles Alex Mireles is offline
Miembro
NULL
 
Registrado: nov 2014
Posts: 35
Poder: 0
Alex Mireles Va por buen camino
Hola... Es Importante poner la clausula OUTPUT en los argumentos de la definición de tu Store Procedure.


Mira estos 2 ejemplos tomados de stackOverlow:

----Ejemplo 1:

ALTER PROCEDURE testme @input VARCHAR(10),
@output VARCHAR(20) output
AS
BEGIN
IF @input >= '1'
BEGIN
SET @output = 'i am back';

RETURN;
END
END

DECLARE @get VARCHAR(20);

EXEC testme
'1',
@get output

SELECT @get



-----Ejemplo 2:

CREATE PROCEDURE Myproc

@parm varchar(10),
**@parm1OUT varchar(30) OUTPUT**,
**@parm2OUT varchar(30) OUTPUT**
AS
SELECT @parm1OUT='parm 1' + @parm
SELECT @parm2OUT='parm 2' + @parm

GO

DECLARE @SQLString NVARCHAR(500)
DECLARE @ParmDefinition NVARCHAR(500)
DECLARE @parmIN VARCHAR(10)
DECLARE @parmRET1 VARCHAR(30)
DECLARE @parmRET2 VARCHAR(30)

SET @parmIN=' returned'
SET @SQLString=N'EXEC Myproc @parm,
@parm1OUT OUTPUT, @parm2OUT OUTPUT'
SET @ParmDefinition=N'@parm varchar(10),
@parm1OUT varchar(30) OUTPUT,
@parm2OUT varchar(30) OUTPUT'

EXECUTE sp_executesql
@SQLString,
@ParmDefinition,
@parm=@parmIN,
@parm1OUT=@parmRET1 OUTPUT,@parm2OUT=@parmRET2 OUTPUT

SELECT @parmRET1 AS "parameter 1", @parmRET2 AS "parameter 2"
GO
DROP PROCEDURE Myproc

----FIN
Saludos
Responder Con Cita
  #3  
Antiguo 29-06-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No olvides poner las etiquetas al código, gracias.


Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error al ejecutar un procedimiento JosepGA Conexión con bases de datos 4 26-11-2008 11:54:41
Ejecutar procedimiento en ventana main JULIPO Varios 3 26-10-2007 20:21:42
ejecutar Procedimiento almacenado en SQL Server, Intraweb. Roilo Internet 9 25-07-2007 18:01:32
Ejecutar un Procedimiento almacenado saul saldaña MS SQL Server 1 03-08-2004 21:20:30
Ejecutar procedimiento automaticamente Javi2 Varios 2 08-07-2004 13:02:02


La franja horaria es GMT +2. Ahora son las 17:02:10.


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
Copyright 1996-2007 Club Delphi