0
I have an error: every time the variable c.Value_do_title passes the SQL string, automatically the "." that separates the Decimal is converted to ",".
As you can see in this image, the variable is using the "." normally.
However, the SQL string takes the dot and places a comma.
What can it be?
The variable is 80.90, but when it is placed inside the sql string it becomes 80.90.
As the number is going with comma, Sql interprets as part of the error syntax:
Code:
public static void salvar(Mov_lancamento c, Int64 user)
{
String sql;
sql = "SELECT id_lancamento FROM mov_lancamento WHERE favorecido = '"+c.Favorecido+"' AND valor_do_titulo = "+ c.Valor_do_titulo + " AND data_vencimento = '"+c.Data_vencimento+"'";
SqlDataReader dtr = Suporte.ConexaoBanco.selecionar(sql);
if(dtr.Read())
Id_lancamento = (Int64)dtr["id_lancamento"];
else Id_lancamento = 0;
dtr.Close();
// Se tem 'id' igual a zero é porque ainda não foi inserido
if (Id_lancamento == 0)
{
sql = "INSERT INTO mov_lancamento VALUES ('" + c.Favorecido + "', '" + c.Data_lancamento + "', '" + c.Data_vencimento + "', '" + c.Documento + "', " + Convert.ToDecimal(c.Valor_do_titulo.ToString().Replace(".", ",")) + ", " + c.Valor_pago + ", " + c.Acrecimo_valor + "," + c.Descontos_valor + "," + c.Saldo_a_pagar + ", " + c.Pago + ", '" + c.Data_pagamento + "', " + c.Excluido + ")";
Suporte.ConexaoBanco.executar(sql);
}
else // Senão apenas atualiza
{
sql = "UPDATE mov_lancamento SET favorecido = '" + c.Favorecido + "', data_lancamento ='" + c.Data_lancamento + "', data_vencimento = '" + c.Data_vencimento + "', tipo_documento = " + c.Documento + ", " + Convert.ToDecimal(c.Valor_do_titulo.ToString().Replace(".", ",")) + ", pago = " + c.Pago + ", data_pagamento = '" + c.Data_pagamento + "' , excluido = 0 WHERE id_lancamento =" + c.Id_lancamento;
Suporte.ConexaoBanco.executar(sql);
}
}
Post the code and error description, not your screen print. What is the error message returned?
– Leandro Angelo