Guest --samuelsjn -- Postado Setembro 17, 2007 Denunciar Share Postado Setembro 17, 2007 Olá pessoal;Estou com dificuldade em um problema. Estou usando o banco de dados postgres com o delphi 7.Eu possuo uma tabela com alguns campos, onde um deles é o valor de um item. Eu o coloquei como tipo float8.No delphi, estou fazendo um edit para entrar com esse valor.É ai que consta o problema.O banco de dados não aceita vírgula antes das casas decimais. ele fala que o tipo de inforamação não é válido.Eu vi neste forum algumas formas de alterar, mas não estão dando certo.alguém poderia me mostrar um exemplo.Desde já o meu muito obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Setembro 17, 2007 Denunciar Share Postado Setembro 17, 2007 Funções para formatar tipo de dado:http://pgdocptbr.sourceforge.net/pg80/func...formatting.html Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Setembro 18, 2007 Denunciar Share Postado Setembro 18, 2007 No delphi, estou fazendo um edit para entrar com esse valor.É ai que consta o problema.O banco de dados não aceita vírgula antes das casas decimais. ele fala que o tipo de inforamação não é válido.samuelsjn, você não informou como está utilizando este valor no programa, mas imagino que você esteja concatenando strings da instrução SQL com os edits. Neste caso você tem algumas opções:1) fazer uso da função de formatação na instrução SQL do PostGres, apontada pelo colega Jhonas - to_number;2) formatar o texto antes de concatenar. Neste caso, seguindo o que você disse, seria necessário apenas remover os pontos (".") que possam existir, de modo que haverá, no máximo, uma vírgula a qual será tratada como separador de decimal. Um ex.:... SQL.Add('Values(212121, '+ StrToFloat(StringReplace(Edit1.Text,'.', '', [rfReplaceAll]) +', 12/10/2007, "BATATINHA", 23'); ...Observe que substituimos o '.' por '' (nulo, ou seja, nada - que resulta em sua remoção). Assim, um número digitado neste formato "12.462.456,90", antes da conversão, ficaria assim "12462456,90", o qual não resultaria em erro.3) utilizar parametrização, ao invés de concatenação.Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --samuelsjn -- Postado Setembro 18, 2007 Denunciar Share Postado Setembro 18, 2007 Pessoal muito obrigado....Vocês me ajudaram muito, obrigado mesmo....Abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest --samuelsjn --
Olá pessoal;
Estou com dificuldade em um problema. Estou usando o banco de dados postgres com o delphi 7.
Eu possuo uma tabela com alguns campos, onde um deles é o valor de um item. Eu o coloquei como tipo float8.
No delphi, estou fazendo um edit para entrar com esse valor.
É ai que consta o problema.
O banco de dados não aceita vírgula antes das casas decimais. ele fala que o tipo de inforamação não é válido.
Eu vi neste forum algumas formas de alterar, mas não estão dando certo.
alguém poderia me mostrar um exemplo.
Desde já o meu muito obrigado.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.