Erro ao Gravar no banco com procedure ERRO: Input parameter mismatch for procedure

Delphi

19/12/2013

Boa Noite,

Gente estou com o seguinte erro: Input parameter mismatch for procedure

este erro ocorre toda vez que tento fazer minha aplicação gravar no banco de dados através de uma procedure simples:

CREATE OR ALTER PROCEDURE GRAVA_PLACA (
e_codigo integer,
e_placa varchar(10),
e_codcliente integer,
e_cliente varchar(80),
e_data date,
e_status varchar(30),
e_carro varchar(30),
e_cor varchar(30),
e_ano varchar(30),
e_observacao varchar(850),
e_km varchar(30))
as
begin

insert into TOP_115
(
codigo, placa, codcliente, cliente, data, status, carro, cor, ano, observacao, km
)
values
(
:e_codigo, :e_placa, :e_codcliente, :e_cliente, :e_data, :e_status, :e_carro, :e_cor, :e_ano, :e_observacao, :e_km
);
suspend;
end^

SET TERM ; ^

GRANT INSERT ON TOP_115 TO PROCEDURE GRAVA_PLACA;

GRANT EXECUTE ON PROCEDURE GRAVA_PLACA TO SYSDBA;


estou fazendo a conexão com a procedure por um componente TSQLStoredProcedure.
para passar os parâmetros e executa-la estou usando o seguinte comando:


procedure TfrmCadastroPlaca.gravaPlacaProc;
begin
with DMmain do
begin
SPgravaPlaca.Params[0].AsInteger := codplaca;
SPgravaPlaca.Params[1].AsString := edtplaca.text;
SPgravaPlaca.Params[2].AsInteger := StrToInt(edtCodigo.Text);
SPgravaPlaca.Params[3].AsString := edtcliente.text;
SPgravaPlaca.Params[4].AsDate := StrToDate (FormatDateTime('DD/MM/YYYY', Date));
SPgravaPlaca.Params[5].AsString := cboxstatus.text;
SPgravaPlaca.Params[6].AsString := edtcarro.text;
SPgravaPlaca.Params[7].AsString := edtcor.text;
SPgravaPlaca.Params[8].AsString := edtano.text;
SPgravaPlaca.Params[9].AsString := mmobservacao.text;
SPgravaPlaca.Params[10].AsString := edtKm.text;

DMmain.SPgravaPlaca.ExecProc;
end;
end;


Alguém pode me ajudar por favor?
Guilherme

Guilherme

Curtidas 0
POSTAR