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;
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);
SP.Params.CreateParam(ftInteger,'@nrplazo',ptInput);
SP.Params.CreateParam(ftfloat,'@nrdescuento',ptInput);
SP.Params.CreateParam(ftString,'@nrfiador',ptInput);
Sp.Params.CreateParam(ftInteger,'RETURN_VALUE',ptResult);
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;
SP.ParamByName('@nrplazo').AsInteger := StrToInt(edt_Plazo.Text);
SP.ParamByName('@nrdescuento').AsFloat := StrToFloat(edt_Descuento.Text);
SP.ParamByName('@nrfiador').AsString := edt_Fiador.Text;
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..