Qual formato para Data e Valor no delphi com Interbase

Delphi

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?


Emir Neto

Emir Neto

Curtidas 0

Respostas

Mayron Cachina

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...


GOSTEI 0
Pestana_

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_

Pestana_

07/11/2007

eu já estava esquecendo, coloque este código no OnCreate ou OnShow do Form principal.


flw.


GOSTEI 0
Emir Neto

Emir Neto

07/11/2007

Muito obrigado, sua dica funcionou como uma luva.


GOSTEI 0
Du_nirvana

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...


GOSTEI 0
Pestana_

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_

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

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?


GOSTEI 0
Gandalf.nho

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
POSTAR