problemas com float
Sou novo e preciso um help, deve ser facil mas vamos la
no meu banco tenho um campo float, no codigo uma variavel float
...
float valortotal = 0;
a variavel é carregada com 6.25 por exemplo
cmd1.CommandText = "update lanccaixa set lcc_vlragrupado = '" + valortotal + "' where lcc_codigo = " + caixa + " ";
bom ocorre que a variavel carrega corretamente 6.25, so que na hora de dar o comando no update passa a ser 6,25 e da erro
tentei converter a variavel float para string antes do update para preservar o ponto mas mesmo assim passa a ter virgula
nao sei se preciso usar culture-US,e como se usa isso
bom fico no aguardo obrigado
no meu banco tenho um campo float, no codigo uma variavel float
...
float valortotal = 0;
a variavel é carregada com 6.25 por exemplo
cmd1.CommandText = "update lanccaixa set lcc_vlragrupado = '" + valortotal + "' where lcc_codigo = " + caixa + " ";
bom ocorre que a variavel carrega corretamente 6.25, so que na hora de dar o comando no update passa a ser 6,25 e da erro
tentei converter a variavel float para string antes do update para preservar o ponto mas mesmo assim passa a ter virgula
nao sei se preciso usar culture-US,e como se usa isso
bom fico no aguardo obrigado
Jorge Meneses
Curtidas 0
Respostas
Pjava
01/08/2013
Só uma dica. Trabalhar assim, passando valores direto para o banco, além de ser fácil dar esses erros, expõe também ao que chamamos de Injeção de Sql(pesquise sobre o assunto). Use paramêtors, tipo:
cmd1.Parameters.AddWithValue("nome_do_seu_parametro", valor_do_parametro);
Os parâmetros devem estar precedido de @.
Assim evita a injeção de sql e esses erros de conversão implícita que o c# ou o bd faz.
cmd1.Parameters.AddWithValue("nome_do_seu_parametro", valor_do_parametro);
Os parâmetros devem estar precedido de @.
Assim evita a injeção de sql e esses erros de conversão implícita que o c# ou o bd faz.
GOSTEI 0
Jorge Meneses
01/08/2013
cmd1.Parameters.AddWithValue("valor", valortotal);
cmd1.CommandText = "update lanccaixa set lcc_vlragrupado = @valor where lcc_codigo = " + caixa + " ";
bahh valeu
cmd1.CommandText = "update lanccaixa set lcc_vlragrupado = @valor where lcc_codigo = " + caixa + " ";
bahh valeu
GOSTEI 0
Joel Rodrigues
01/08/2013
Opa, aproveite e ponha todos os parâmetros.
GOSTEI 0
Gabriel Simas
01/08/2013
cmd1.Parameters.AddWithValue("valor", valortotal);
cmd1.CommandText = "update lanccaixa set lcc_vlragrupado = @valor where lcc_codigo = " + caixa + " ";
bahh valeu
cmd1.CommandText = "update lanccaixa set lcc_vlragrupado = @valor where lcc_codigo = " + caixa + " ";
bahh valeu
Posta seu código aqui pra gente jorge, só pra ajudar outros que estejam com o mesmo problema. Pode ser?
Forte Abraço
GOSTEI 0