none
passando um valor com casas decimais de um textbox para o banco de dados RRS feed

  • Pergunta

  • estou com um problema, passo um valor do text box "2,2", mas no banco so grava 22.

    se alguem poder me ajudar ficarei grato.


    valeu.
    sexta-feira, 5 de junho de 2009 01:15

Todas as Respostas

  • Prezado verifique o tipo de coluna que esta no banco e se esta formato para serapar por casas decimais.

    Att,
    Israel Gonçalves "Se não puder vencer pelo talento, vença pelo esforço."
    sexta-feira, 5 de junho de 2009 12:36
  • O formato correcto para inserir no SQL é "2.2" e não "2,2"

    Substitua antes de inserir no banco de dados.


    Jorge Paulino
    http://vbtuga.blogspot.com/

    domingo, 7 de junho de 2009 23:09
  • Olá Gilberto,

    Você está tendo esse problema, porque está montando a sua string SQL dentro do código, quando deveria estar utilizando parâmetros... Algo como:

    // ...
    
    // Obtém o valor que o usuário digitou...
    decimal valor = decimal.Parse(txtValor.Text);
    
    // Monta a string SQL utilizando parâmetros
    string sql = "INSERT INTO Tabela (CampoValor) VALUES (@Valor)";
    
    // Instancia o seu Command, com a string SQL e conexão
    xxxCommand cmd = new xxxCommand(sql, conexao);
    
    // Adiciona o parâmetro, informando o valor que você obteve do usuário
    cmd.Parameters.AddWithValue("@Valor", valor);
    
    // ...
    
    // Executa a instrução SQL...
    cmd.ExecuteNonQuery();
    
    


    Você NUNCA deve montar as strings SQL concatenando valores que vêm do usuário, mas sim, utilizar parâmetros nas suas consultas.

    Se você concatenar os valores na sua string SQL, sua aplicação ficará vulnerável à ataques via SQL Injection, que podem causar prejuízos enormes para sua empresa!! Imagine que qualquer pessoa pode entrar no seu sistema sem ter permissão, ler informações das suas tabelas, ou ainda, apagar todas as tabelas do banco de dados, executar programas no servidor... Enfim... O céu é o limite.

    Abraços,
    Caio Proiete



    Caio Proiete Siga-me no Twitter!
    http://www.caioproiete.com
    domingo, 28 de junho de 2009 15:23