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

cazon em tecnolab.mus.br cazon em tecnolab.mus.br
Sex Fev 27 08:04:31 -03 2009


Primeiramente gostaria de agradece-lo pela ajuda.
1-Fiz a modificação usando o QuotedStr mas mesmo assim continua
apresentando o mesmo problema.

2- Estou usando o "null" pq ja tentei usar o "clear" mas alguns campos de
Data estava gerando outro erro.

3- poderia me dar um exemplo mais detalhado do uso com Queries?

Valew
Mario Cezar


> Por usar parametros não deveria ser necessário, mas tente passar os tipos
> string com QuotedStr().
> Ex:  ParamByName('CLIENTE').AsString   := QuotedStr( txtNome.Caption; )
>
> Eu pessoalemnte não gosto de usar componentes proprio para executar SP.
> Eu uso uma Query com 'EXECUTE PROCEDURE  SP_NOME( :PARM1, :PARAM2, etc)'
>
> Uma sugestão:
> Ao invés de usar
>          ParamByName('CLIENTE').Value    := null
> use
>          ParamByName('CLIENTE').Clear;
> Fica mais legivel na minha opinão.
>
> []´s
>
> Kléber Caneva
>
>
> ----- Original Message -----
> From: <cazon em tecnolab.mus.br>
> To: <lista em firebase.com.br>
> Sent: Wednesday, February 25, 2009 9:12 PM
> Subject: [firebase-br] Erro de Conversão -303?
>
>
> 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
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> E-mail verificado pelo Terra Anti-Spam.
> Para classificar esta mensagem como spam ou não spam, visite
> http://mail.terra.com.br/cgi-bin/reportspam.cgi?+_d=SCY0NDU0NzM0I3Blcm0hdGVycmEmMSwxMjM1NjA3NzQ1LjgwNDQ3OS41MDAyLmNhYnJldG9uLnRlcnJhLmNvbSw1ODEz
> Verifique periodicamente a pasta Spam para garantir que apenas mensagens
> indesejadas sejam classificadas como Spam.
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> -------------------------------------------------------------------------
> Esta mensagem foi verificada pelo sistema KingNoSpam (versao 1.4.2)
> Assinatura: !DSPAM:49a6c4d5145801704215274!
> Resultado: INOCENTE
>
> Para reportar este e-mail como SPAM, clique aqui:
> http://webmail.tecnolab.mus.br/retrain.php?sigIa6c4d5145801704215274&class=spam&userÊzon@tecnolab.mus.br
>






Mais detalhes sobre a lista de discussão lista