Ver Mensaje Individual
  #1  
Antiguo 05-09-2008
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Reputación: 17
microbiano Va por buen camino
Unhappy ayuda con procedimiento almacenado

hola soy nuevo en delphi, les planteo el siguiente problema a ver si pueden ayudarme.

1.- en un form tengo un tedit en el cual escribo un nombre.
2.- tambien tengo un boton que al precionarlo ejecuta un procedimiento almacenado: este es el cofigo
Código Delphi [-]
procedure Tfrcontrato.btAceptarClick(Sender: TObject);
begin
  try
     spnvocontri.Close;
     spnvocontri.Parameters.Refresh;
     spnvocontri.Parameters.ParamByName('@nombre').Value:=txtnombre.Text;
     spnvocontri.ExecProc;
     label4.Caption:= spnvocontri.Parameters.Byname('@del_error').value;
         //Application.MessageBox('Registro Almacenado con exito','Sapa',mb_iconinformation);
  except
     raise;
  end;
end;
3.- tengo un objetoAdoStoredProcedure qen el cual declaro dos parametros del_error de tipo return.value y nombre de tipos texto.
4.-en sql server 200o tengo el siguiente procedimiento almacenado
Código SQL [-]
ALTER   procedure [spnvocontri]
    @nombre varchar(80)    
as
declare @valida    INT
declare @del_error int
-- Obtiene el total de registros
select @valida = count(*)
        FROM sap_contri
        where nombre_contri = @nombre
-- compara
if @valida = 0 
 begin
  insert into sap_contri  (nombre_contri) values(@nombre)
 end
else
 begin
  print ('ya Existe un registro con ese nombre')
  set @del_error=1
end
  return (@del_error)

bien realmente no existe problea cuando lo ejecuto por el analizador de consulta lo que quiero es recuperar el valor cuando exista el registro en la base de datos para poder mandar un mensaje en delphi de que ese registro ya existe lo intento de la siguiente manera pero no funciona

label4.Caption:= spnvocontri.Parameters.Byname('@del_error').value;

espero que alguien me pueda ayudar
Responder Con Cita