[firebase-br] Problema com Firebird 2.1
Rodrigo
dominio em engeplus.com.br
Sex Nov 21 08:28:36 -03 2008
Bom dia Eduardo,
Tentei usar o Replace mas deu o seguinte erro:
"Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements.Dynamic SQL Error.
expression evaluation not supported.
Transaction rolled back."
De qualquer forma, obrigado.
Rodrigo
----- Original Message -----
From: "Eduardo Bahiense" <eduardo em icontroller.com.br>
To: <lista em firebase.com.br>
Sent: Thursday, November 20, 2008 9:14 PM
Subject: Re: [firebase-br] Problema com Firebird 2.1
Tente assim:
Cast(REPLACE(VTotal, ',', '.') as Numeric(8,2))
Eduardo
Rodrigo escreveu:
> Boa Noite a Todos...
> Estou com o seguinte problema,
> Migrei o Firebird 1.5 para o 2.1 e algumas procedures que funcionavam bem
> antes agora estao com problemas:
> Ex. tenho um Cast(VTotal as Numeric(8,2))
>
> onde VTotal é um Varchar(20) com a string 20,00.
>
> Quando vai converter exibe erro.
> Overflow occurred during data type conversion.conversion error from string
> "20,00".
>
> Dae se mudar para 20.00 funciona.
>
> Entao resolvi fazer uma UDF pra fazer a conversão, fiz do seguinte modo:
>
> na unit Func:
>
> unit Func;
>
> interface
>
> function TrocaVirgPonto(Valor: string): string; cdecl; export;
>
> implementation
>
> function TrocaVirgPonto(Valor: string): string;
> var i: integer;
> begin
> try
> for i := 1 to Length(Valor) do
> if Valor[i] = ',' then
> Valor[i] := '.';
> except
> //
> end;
> Result := valor;
> end;
>
> end.
>
> e no projeto:
>
> library Funcoes;
> uses
> SysUtils,
> Classes,
> IB_Utils,
> Func in 'Func.pas';
>
> {$R *.res}
>
> exports
> TrocaVirgPonto;
>
> begin
> end.
>
> no registro fiz assim:
> declare external function Func
> cstring(64)
> returns cstring(64) free_it
> entry_point 'TrocaVirPonto' module_name 'Funcoes.dll"';
>
>
> Só que sempre que vou usar a função cai o servidor Firebird...
>
> Se alguem puder dar uma ajuda...
>
> Atenciosamente,
> Rodrigo
>
>
>
> ______________________________________________
> 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
>
______________________________________________
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
__________ NOD32 3628 (20081120) Information __________
This message was checked by NOD32 antivirus system.
http://www.eset.com
Mais detalhes sobre a lista de discussão lista