yuri_ev 0 Denunciar post Postado Fevereiro 22, 2009 lá. Tenho uma tabela de cliente no banco de dados(SQL server) onde tem um campo pontuação(VARCHAR), o qual aceita números com vírgula. Ao cadastrar o cliente, o sistema aceita tranquilamente a vírgula. O problema está quando vou editar a pontuação com o update. Por exemplo: se a pontuação é 16 e eu vou somar 1,2 ficando a pontuação = 17,2... dá um "Sintax error near '2'" Depois de muitas mudanças, está aí como ficou meu código: protected void btnPontuar_Click(object sender, EventArgs e) { try { ClienteBasico cb = new ClienteBasico(); double ptatual = Convert.ToDouble(Request.Params["Pontos"]); // pega o valor da pontuação atual double soma = Convert.ToDouble(addPontos.Text); // pega o valor informado em um campo Text double resultado = ptatual + soma; // soma os dois valores cb.Pontuacao = resultado.ToString(); String strconexao = /////////////////////////////////////////////////// SqlConnection conn = new SqlConnection(strconexao); String atualizapontos = "UPDATE Cliente SET Pontos=" +" "+ cb.Pontuacao +" "+ "WHERE ID_cliente=" +" "+ Request.Params["ID_cliente"]; // o erro acontece aqui!!!!! SqlCommand cmd = new SqlCommand(); conn.Open(); cmd.Connection = conn; cmd.CommandType = CommandType.Text; cmd.CommandText = atualizapontos; cmd.ExecuteNonQuery(); conn.Close(); } catch (Exception ex) { Page.RegisterClientScriptBlock("Erro", "<script>Alert('Erro ao cadastrar cliente')</scipt>"); } Alguém pode dar uma ajuda?? Será que não tem como inserir vírgula na instrução UPDATE?? Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Fevereiro 22, 2009 Você pode fazer um replace de virgula para ponto, assim: UPDATE Cliente SET Pontos=" +" "+ cb.Pontuacao.Replace(',','.') +" "+ "WHERE ID_cliente=" +" "+ Request.Params["ID_cliente"]; Compartilhar este post Link para o post Compartilhar em outros sites