![]() |
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 |
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 |
Espero te sirva
if datos.spUpdateSp.Parameters.ParamByName('@RETURN_VALUE').Value = 0 then {lo que necesites} Saludos |
| La franja horaria es GMT +2. Ahora son las 04:37:56. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi