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 17-05-2006
santi33a santi33a is offline
Miembro
 
Registrado: jun 2005
Posts: 208
Poder: 19
santi33a Va por buen camino
Problemas con Procedimiento Almacenado

Hola a todos:
Quisiera si alguien tiene una idea me ilumine pues no se que es lo que pasa, el caso es que desde delphi (v.7) llamo a un procedimiento almacenado en SQLServer 2000 de la sgte forma:

Código Delphi [-]
procedure TFConfirma.BitOOkClick(Sender: TObject);
begin
inherited;
dm.pConfirmaP.Parameters.ParamByName('@Hasta').Value := dtHasta.Date;
dm.pConfirmaP.ExecProc;
if dm.pConfirmaP.Parameters.ParamByName('@RETURN_VALUE').Value = 0 then
begin
ShowMessage('Periodo Confirmado');
dm.pEmpresa.Open;
fechaE := dm.pEmpresafecha.Value;
FPpal.lfecha.Text := dm.pEmpresafecha.AsString;
dm.pEmpresa.Close;
end
else ShowMessage('Periodo no Confirmado');
end;




y en la BD SQL el procedimiento almacenado un poco simplificado es:


Código SQL [-]
CREATE PROCEDURE pConfirmaPeriodo @Hasta smalldatetime AS
BEGIN
declare @Desde smalldatetime
declare @error int
declare @nTran varchar(20)
set @nTran = 'santi'
select @desde = fecha from Empresas
if @Desde < @Hasta
begin
begin tran @nTran
update Documentos
set CPerid = 1
where CPerid is null and fecha BetWeen @Desde and @Hasta
set @error = @@error

if @error = 0
begin
update Empresas
set fecha = @Hasta
set @error = @@error
end
if @error = 0
begin
commit tran @nTran
return 0
end
else
begin
rollback tran @nTran
return @@error
end
end
else
begin
raiserror('Error, configure la hora de su PC',16,1)
return 1
end

END
GO





el problema esta cuando algun update falla el procdimiento se interrumpe por lo que no llego a recibir ninguna información de retorno en delphi
Responder Con Cita
  #2  
Antiguo 16-02-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Existe un párametro por default cuando usas procedimientos almacenados en Sql server que se llama @Return_Value. Este parámetro tiene por objeto indicar a la aplicación cliente la exitosa o no, ejecución del procedimiento.


Suerte
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #3  
Antiguo 24-02-2007
momo momo is offline
Registrado
 
Registrado: jun 2006
Posts: 9
Poder: 0
momo Va por buen camino
Espero te sirva

if datos.spUpdateSp.Parameters.ParamByName('@RETURN_VALUE').Value = 0 then

{lo que necesites}

Saludos
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
Procedimiento almacenado LucianoRey MS SQL Server 2 23-08-2005 00:37:06
Problemas Procedimiento almacenado istradlin Conexión con bases de datos 2 13-04-2005 18:28:56
problemas con cast en procedimiento almacenado santiago14 Firebird e Interbase 1 26-11-2004 21:24:26
Problemas con procedimiento almacenado rmnart Firebird e Interbase 2 09-07-2003 21:27:17
procedimiento Almacenado Gabriel A Reyes Conexión con bases de datos 4 19-06-2003 00:14:31


La franja horaria es GMT +2. Ahora son las 04:32:52.


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