Ver Mensaje Individual
  #4  
Antiguo 13-09-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Reputación: 23
lucasarts_18 Va por buen camino
Hola:

Aquí tienes otro ejemplo que puede servirte:

Código Delphi [-]
 
 procedure TFrm_MantenedorClientes.IngresarCliente;
 var Sp:TStoredProc;
 begin
      Sp:=TStoredProc.create(self);
      Sp.DatabaseName:='DBCOMLIMA';
      Sp.StoredProcName:='SP_InsertarCliente';
      Sp.Params.Clear;
 
      //Creacion de Parametros
      Sp.Params.CreateParam(ftInteger,'@nrrut',ptInput);
      Sp.Params.CreateParam(ftString,'@dvrut',ptInput);
      Sp.Params.CreateParam(ftString,'@nmcliente',ptInput);
      Sp.Params.CreateParam(ftString,'@nmdireccion',ptInput);
      Sp.Params.CreateParam(ftString,'@nmcomuna',ptInput);
      Sp.Params.CreateParam(ftString,'@nmciudad',ptInput);
      Sp.Params.CreateParam(ftString,'@nmgiro',ptInput);
      Sp.Params.CreateParam(ftString,'@nrfono',ptInput);
      Sp.Params.CreateParam(ftString,'@nrfax',ptInput);
      Sp.Params.CreateParam(ftString,'@nmemail',ptInput);
      Sp.Params.CreateParam(ftFloat,'@nrcredito',ptInput);
      Sp.Params.CreateParam(ftFloat,'@nrsaldo',ptInput);
   //->AGA 24/08/2005
      SP.Params.CreateParam(ftInteger,'@nrplazo',ptInput);
      SP.Params.CreateParam(ftfloat,'@nrdescuento',ptInput);
      SP.Params.CreateParam(ftString,'@nrfiador',ptInput);
   //<-AGA 24/08/2005
      Sp.Params.CreateParam(ftInteger,'RETURN_VALUE',ptResult);
 
     //Valores que entrega el Servidor
      SP.ParamByName('@nrrut').AsInteger := StrToInt(Copy(Mask_Rut.Text,1,8));
      SP.ParamByName('@dvrut').AsString := Copy(Mask_Rut.Text,9,1);
      SP.ParamByName('@nmcliente').AsString := edt_Nombre.Text;
      SP.ParamByName('@nmdireccion').AsString := edt_Direccion.Text;
      SP.ParamByName('@nmcomuna').AsString := edt_Comuna.Text;
      SP.ParamByName('@nmciudad').AsString := edt_Ciudad.Text;
      SP.ParamByName('@nmgiro').AsString := edt_Giro.Text;
      SP.ParamByName('@nrfono').AsString := edt_Fono.Text;
      SP.ParamByName('@nrfax').AsString := edt_Fax.Text;
      SP.ParamByName('@nmemail').AsString := edt_Email.Text;
      Sp.ParamByName('@nrcredito').AsFloat := StrToFloat(edt_credito.Text);
      Sp.ParamByName('@nrsaldo').AsFloat := 0;
   //->AGA 24/08/2005
      SP.ParamByName('@nrplazo').AsInteger := StrToInt(edt_Plazo.Text);
      SP.ParamByName('@nrdescuento').AsFloat := StrToFloat(edt_Descuento.Text);
      SP.ParamByName('@nrfiador').AsString := edt_Fiador.Text;
   //<-AGA 24/08/2005
 
      try
         SP.ExecProc;
         Case SP.ParamByName('RETURN_VALUE').AsInteger of
         0:MessageDlg('Cliente Ingresado',mtInformation,[mbOk],0);
         1:MessageDlg('Ya Existe Cliente',mtWarning,[mbOk],0);
         90:MessageDlg('Error en la BD',mtWarning,[mbOk],0);
         end;
      Except
         MessageDlg('Procedimiento no pudo ser Ejecutado',mtWarning,[mbOk],0);
      end;
      FormActivate(Self);
 end;
 
 Espero que te oriente en algo..
__________________
No todo es como parece ser...
Responder Con Cita