I'm having an error: every time the variable c.Value_value passes the SQL string, automatically, the "." which separates the Decimal is converted to ",".
Asyoucanseeinthisimage,thevariableisusingthe"." usually.
However,theSQLstringtakesthepointandplacesacomma.
Whatcanitbe?
Thevarableis80.90,butwhenitisplacedinsidethesqlstringitbecomes80.90.
Becausethenumberiscomma-separated,SQlinterpretsaspartofthesyntaxgivingerror:
Code:
publicstaticvoidsalvar(Mov_lancamentoc,Int64user){Stringsql;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);
}
}