[firebase-br] Erro de Conversão -303?

cazon em tecnolab.mus.br cazon em tecnolab.mus.br
Qua Fev 25 21:12:48 -03 2009


Ola Pessoal td bem?
Sou novato em SP e encontrei uma dificuldade em um teste que estou fazendo.
{Firebird 2.1 + Delphi 2009}
Criei esta procedure para atualizar os dados de uma Ordem de Serviços:

SET TERM ^ ;
CREATE PROCEDURE SP_UPDATE_ORDEM (
    CODIGO Integer,
    RELACAO Integer,
    CLIENTE Varchar(60),
    EQUIPO Varchar(50),
    MARCA Varchar(30),
    MODELO Varchar(30))
as
Begin
   if (EXISTS(SELECT ORD_CODIGO from ORDEM where (ORD_codigo = :codigo)) )
then
update ORDEM
    set ORD_CODIGO      = :codigo,
        ORD_RELACAO     = :relacao,
        ORD_CLIENTE     = :cliente,
        ORD_EQUIPO      = :equipo,
        ORD_MARCA       = :marca,
        ORD_MODELO      = :modelo
 WHERE (ORD_CODIGO = :codigo);
end^
SET TERM ; ^
GRANT EXECUTE ON PROCEDURE SP_UPDATE_ORDEM TO  SYSDBA;


** Codigo no delphi:

begin
          with Dm.Sp_Update_Ordem do
            begin
              ParamByName('CODIGO').AsInteger         :=
StrToInt(edtCodigo.Text);
              ParamByName('RELACAO').AsInteger        :=
StrToInt(edtCliente.Text);
              if (txtNome.Caption = '') then
              ParamByName('CLIENTE').Value            := null
              else
              ParamByName('CLIENTE').AsString         := txtNome.Caption;
              if (edtEquipo.Text = '' )then
              ParamByName('EQUIPO').Value             := null
              else
              ParamByName('EQUIPO').AsString          := edtEquipo.Text;
              if (edtMarca.Text = '' )then
              ParamByName('MARCA').Value              := null
              else
              ParamByName('MARCA').AsString           := edtMarca.Text;
              if (edtModelo.Text = '' )then
              ParamByName('MODELO').Value             := null
              else
              ParamByName('MODELO').AsString          := edtModelo.Text;
              ExecProc;
              Dm.Transaction.Commit;
 end;
end;

** quando executo recebo este erro:

First chance exception at $7C812AEB. Exception class EIBInterBaseError
with message 'Dynamic SQL Error
SQL error code = -303
conversion error from string "NOME DO CLIENTE"'. Process Tecsystem.exe (404)

Alguem ja passou por algo semelhante que possa me dar uma ajuda?

Obrigado.
Mario Cezar





Mais detalhes sobre a lista de discussão lista