none
DataSet com XML valor moeda com erro RRS feed

  • Pergunta

  • Boa tarde Pessoal

    Estou tendo problemas com valores monetario retornado de um xml e DataSet.

    Crio um xml com vario campos monetario no bd em acces 2007 prfeito.

    Quando leio o xml com o dataset e gravo no bd muda o valor.

    Ex. salvei no XML o valor 20890.48

    Qando faço a leitura do xml com o dataset e grava no bd ele grava da seguinte forma Ex. 2089048.00

    Ja mudei a cultura para a do Brasil memo assim ele faz esta cada.

    Como resolver isto?

    No link abaixo esta o XML que gerro:
    http://www.ncmd.com.br/NovoCalculo.XML

    Agrade a ajuda


    Nilson Morgenstern

    sábado, 16 de junho de 2012 15:32

Respostas

  • Então, no seu banco de dados você não precisa mudar o tipo.

    Mas dai por exemplo em sua classe vc vai ter um pouco mais de trabalho.

    Terá de ter duas propriedades por exemplo.

    Valor as Double e ValorFormatado as string.

    E por exemplo, se no inicio da sua aplicação vc setar a cultura português, ele vai gerar corretamente sem problemas.

    System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("pt-BR")


    Quem sabe um dia os DataSets se extinguirão?

    quarta-feira, 20 de junho de 2012 23:02

Todas as Respostas

  • A especificação do xml que é o problema. Se você for efetuar a serialização de um objeto tipo double para xml, sempre vai ser o 0.00.

    Se você quiser usar a virgula, você deve mudar o seu tipo para string.

    http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#decimal


    Quem sabe um dia os DataSets se extinguirão?

    segunda-feira, 18 de junho de 2012 13:56
  • Boa noite Danimar

    Mudeio para campo testo no meu bd, funciona perfeitamente.

    Que sempre gostei de trabalhar com dados tipado,  para ficar melho organizado nio bd.

    Gerro esdte xml com o dataset como você pode ver no arquivo que esta no link acima.

    Serra que não tem um amaneira de fazer o dataset converter para a cultura , Portugues(Brasil)?

    E ele fazer a converção de forma coreta.

    agradeço a atenção.


    Nilson Morgenstern

    segunda-feira, 18 de junho de 2012 22:21
  • Então, no seu banco de dados você não precisa mudar o tipo.

    Mas dai por exemplo em sua classe vc vai ter um pouco mais de trabalho.

    Terá de ter duas propriedades por exemplo.

    Valor as Double e ValorFormatado as string.

    E por exemplo, se no inicio da sua aplicação vc setar a cultura português, ele vai gerar corretamente sem problemas.

    System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("pt-BR")


    Quem sabe um dia os DataSets se extinguirão?

    quarta-feira, 20 de junho de 2012 23:02