Qual formato para Data e Valor no delphi com Interbase
Utilizando tipo DATE, no banco fica mm/dd/aaa, mas gostaria que na aplicação se comportasse dd/mm/aaaa, como faria para alterar em todas as situações isso, menos no BD e no caso valor, qual seria a melhor opção decimal ou numeric? Como faria a alteração do separador de decimal e milhar em toda a aplicação e menos no bd também?
Emir Neto
Curtidas 0
Respostas
Mayron Cachina
07/11/2007
se vc mostrar num dbgrid vc tem q mudar as configuraçãos de data do windows...
acho que é melhor do q ficar mudando em toda tela que for apresentar...
acho que é melhor do q ficar mudando em toda tela que for apresentar...
GOSTEI 0
Pestana_
07/11/2007
Utilizando tipo DATE, no banco fica mm/dd/aaa, mas gostaria que na aplicação se comportasse dd/mm/aaaa, como faria para alterar em todas as situações isso, menos no BD e no caso valor, qual seria a melhor opção decimal ou numeric? Como faria a alteração do separador de decimal e milhar em toda a aplicação e menos no bd também?
você pode fazer assim:
ShortDateFormat := ´dd/mm/yy´; // define o formato usado nos campos do tipo data. DecimalSeparator := ´,´; // determina o separador decimal de números. ThousandSeparator := ´.´; // define o separador de milhar de um número.
flw.
GOSTEI 0
Pestana_
07/11/2007
eu já estava esquecendo, coloque este código no OnCreate ou OnShow do Form principal.
flw.
flw.
GOSTEI 0
Emir Neto
07/11/2007
Muito obrigado, sua dica funcionou como uma luva.
GOSTEI 0
Du_nirvana
07/11/2007
Olá, apesar de utilizar o decimalseparator := ´.´ não estou conseguindo salvar no banco (MySQL 5), eu vejo as informações com virgula no dbgrid porém ao utilizar o clientdataset.applyupdate recebo o erro ´Incorrect decimal value [b:bbc4c080d6]valor[/b:bbc4c080d6]´, esse [b:bbc4c080d6]valor[/b:bbc4c080d6] que no dbgrid estava com ponto, na mensagem de erro aparece com virgula, quando altero nas configurações regionais do windows o valor para decimal (de virgula para ponto) tudo da certo, posso mandar o valor ate com virgula que tudo da certo.
Bom se alguem puder me ajudar desde ja agradeço...
Bom se alguem puder me ajudar desde ja agradeço...
GOSTEI 0
Pestana_
07/11/2007
Muito obrigado, sua dica funcionou como uma luva.
ficou faltando acrecentar a barra separador. O ShortDateFormat determina o formato da data, se na configuração do Windows estiver definido a barra separador como sendo [b:4b23351af2]-[/b:4b23351af2] vai dar erro, então por isso que precisa definir o formato da barra.
DateSeparator := ´/´; // define a barra separador de data.
flw.
GOSTEI 0
Pestana_
07/11/2007
Olá, apesar de utilizar o decimalseparator := ´.´ não estou conseguindo salvar no banco (MySQL 5), eu vejo as informações com virgula no dbgrid porém ao utilizar o clientdataset.applyupdate recebo o erro ´Incorrect decimal value [b:18b4af1991]valor[/b:18b4af1991]´, esse [b:18b4af1991]valor[/b:18b4af1991] que no dbgrid estava com ponto, na mensagem de erro aparece com virgula, quando altero nas configurações regionais do windows o valor para decimal (de virgula para ponto) tudo da certo, posso mandar o valor ate com virgula que tudo da certo.
Bom se alguem puder me ajudar desde ja agradeço...
estranho isso, será que é o banco? eu utilizo o Firebird aqui, mas se eu descobir algo eu posto aqui.
flw.
GOSTEI 0
Tatiane
07/11/2007
Tentei usar o código q vc passou, mas no meu caso queria mudar inclusive no Banco de Dados o formato da Data pra facilitar pesquisa e tudo mais.
Estou usando Delphi 6 e InterBase 6 e meus campos de data estão declarados como TimesTamp, na tela uso o MaskEdit para facilitação!, já mudei o estilo da Data no Painel de Controle e ainda continua MM/DD/YY, tem idéia de como poderia mudar isso?
Estou usando Delphi 6 e InterBase 6 e meus campos de data estão declarados como TimesTamp, na tela uso o MaskEdit para facilitação!, já mudei o estilo da Data no Painel de Controle e ainda continua MM/DD/YY, tem idéia de como poderia mudar isso?
GOSTEI 0
Gandalf.nho
07/11/2007
O banco sempre irá armazenar nesse formato. Para facilitar consultas, procure passar os valores como parâmetros ao invés de concatenar como string.
GOSTEI 0