• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

n1ckooo

Problema a passar valor double para base dados

2 mensagens neste tópico

Boas...

O codigo que tenho é o seguinte:

   clsdados dados = new clsdados();

            string query = "INSERT INTO venda (id_login,venda_data,venda_total)
values ('" + id_login + "', NOW() , '" +  TOTAL + "')";
          
  dados.Executarcomando(query);
            

O problema está no valor da variavel TOTAL, pois  quando o TOTAL é numero com casas decimais ao inserir na Base de dados MySql ele retira as casas decimais ficando um numero inteiro.

Supostamente o problema estará no c# pois este quando é usado o formato double utiliza  "virgula" e o MySql utiliza o "ponto . "

Exemplo : C# 12,20 , MYSQL 12.20

Já exprimentei inserir manualmente no MySql com virgula e realmente ele nao assume a virgula ficando os valores antes da virgula, se colocar com ponto já assume como um valor double...

Como resolver este problema, alguem pode ajudar?

Obrigado!!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Supondo que TOTAL é um float, podes substituir na construção da string por:

TOTAL.ToString("F", CultureInfo.InvariantCulture)

que já te devolve o valor com . em vez de ,

Mais informação aqui.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora