减法运算符C#Web服务中的数据类型varchar和varchar不兼容

时间:2019-06-19 07:24:29

标签: c# web-services windows-forms-designer

当前我使用五层,在业务层中,我有一种方法可以将他调用到我的Web服务中,但是我不能减去

public void ActualizarStock(ConsultaStock consultaStock, int cantidad_salida)
{
    this.configurarConexion();
    this.Conec.CadenaSQL = "UPDATE Consulta_stock "
                           + " SET cantidad = '" + consultaStock.Cantidad.ToString() + "' - '"
                           + cantidad_salida.ToString()
                           + "' WHERE sku = '" + consultaStock.Sku + "';";
    this.Conec.EsSelect = true;
    this.Conec.conectar();
}

2 个答案:

答案 0 :(得分:0)

赞:

this.Conec.CadenaSQL = "UPDATE Consulta_stock "
                           + " SET cantidad = " + consultaStock.Cantidad.ToString() + " - "
                           + cantidad_salida.ToString()
                           + " WHERE sku = '" + consultaStock.Sku + "';";

或为什么不这么做

this.Conec.CadenaSQL = "UPDATE Consulta_stock "
                           + " SET cantidad = " + (consultaStock.Cantidad - cantidad_salida).ToString()
                           + " WHERE sku = '" + consultaStock.Sku + "';";

答案 1 :(得分:0)

SQL中的'字符用作字符串定界符,您可以在查询之前进行计算,也可以摆脱'

例如:

public void ActualizarStock(ConsultaStock consultaStock, int cantidad_salida)
{
    int nuevoStock = consultaStock.Cantidad - cantidad_salida;
    this.configurarConexion();
    this.Conec.CadenaSQL = "UPDATE Consulta_stock SET cantidad = " + nuevoStock.ToString() + " WHERE sku = '" + consultaStock.Sku + "';";
    this.Conec.EsSelect = true;
    this.Conec.conectar();
}