Hi again

agora tenho um pouquinho de tempo para detalhar... faça isto:

cds_servico.FieldByName('SE_COMISSAO').AsFloat := FormatFloat('###,###,###.00',
q_servico.FieldByName('SE_COMISSAO').AsCurrency);

bye

gilnei

PS: Não uso delphi há uns 4 ou 5 anos... então acho que a sintaxe é
esta de memória...
mas era mais ou menos assim que eu fazia isto... boa sorte, cargas
sempre são maliciosas...
PS2: Lembre currency são 4 digitos após a virgula, cuidado para não
perder nada...



2009/3/2, Gilnei M. Oliveira <ogil...@gmail.com>:
> Ola
>
>  Este não é um problema de postgresql, mas coloca no delphi asCurrency... deve
>  resolver...
>
>  bye
>
>  gilnei
>
>  2009/3/2, Wesller da Silva França <wesl...@gmail.com>:
>
> >
>  >
>  > ola, estou migrando um sistema dem firebird para postgre, utilizo conexao
>  > via ado + clientdataset, mas não consigo gravar informações em campo
>  > numeric, segue minha rotina de importacao:
>  >
>  > if q_servico.RecordCount > 0 then
>  >          repeat
>  >             if cds_servico.Locate('SE_COD',
>  > q_servico.FieldByName('SE_COD').AsInteger,[]) = false then
>  >             begin
>  >                cds_servico.Append;
>  >                cds_servico.FieldByName('SE_COD').AsInteger
>  >  := q_servico.FieldByName('SE_COD').AsInteger;
>  >                cds_servico.FieldByName('SE_DESC').AsString
>  >  := q_servico.FieldByName('SE_DESC').AsString;
>  >                t := STRTOFLOAT
>  > (q_servico.FieldByName('SE_COMISSAO').AsSTRING);
>  >
>  > cds_servico.FieldByName('SE_COMISSAO').AsFloat := T;
>  >
>  > cds_servico.FieldByName('SE_TMPGARANT').AsInteger   :=
>  > q_servico.FieldByName('SE_TMPGARANT').AsInteger;
>  >
>  > cds_servico.FieldByName('SE_STATUS').AsString :=
>  > q_servico.FieldByName('SE_STATUS').AsString;
>  >                t :=
>  > q_servico.FieldByName('SE_VALOR').AsFloat;
>  >                cds_servico.FieldByName('SE_VALOR').AsFloat
>  >  := t;
>  >                cds_servico.Post;
>  >                cds_servico.ApplyUpdates(0);
>  >             end;
>  >             Progresso.Progress := (q_servico.Recno * 100) div
>  > q_servico.RecordCount;
>  >             q_servico.next;
>  >             Application.ProcessMessages;
>  >          until q_servico.eof;
>  >
>  >
>  > porem da o erro: raised exception class EOleException with message "ERROR:
>  > column "se_comissao" is of type numeric but expression is of type money.
>  >
>  > Como posso solucionar este problema, visto que tanto no firebird como no
>  > postgree o campo foi criado como numeric (9,2) ?
>  >
>
> > _______________________________________________
>  >  pgbr-geral mailing list
>  >  pgbr-geral@listas.postgresql.org.br
>  > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>  >
>  >
>
>
>
>  --
>  (pt_BR;    ogil...@gmail.com)
>  E9BA2383; wwwkeys.pgp.net
>


-- 
(pt_BR;    ogil...@gmail.com)
E9BA2383; wwwkeys.pgp.net
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a