张天星

1992
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

看到生成的Update语句的一点感想

Posted on 2011-06-10 14:20  张天星123  阅读(185)  评论(0)    收藏  举报
//生成调拨单时数量相应减少
private DbColumn[] BuildDstockproductColumns2(int num)
{
var dbColumns = new DbColumn[] { 
new DbColumn(stock_product_detailTable.product_qty,string.Format("product_qty-{0}",num),DbType.Int32,true),
new DbColumn(stock_product_detailTable.outstock_qty,string.Format("outstock_qty-{0}",num),DbType.Int32,true)
};
return dbColumns;
}

这段代码本身没有任何问题,使用也正常,但是设想一下,如果num传入的结果为负数,会造成怎样有趣的结果

生成的Update语句为update tb set 字段=字段-num

如果传入负数,生成了update tb set 字段=字段--num,在sql中,--为注释语句,更新就没有效果了。

经过处理后代码如下:

  //生成调拨单时数量相应减少
        private DbColumn[] BuildDstockproductColumns2(int num)
        {
            var dbColumns = new DbColumn[] {                
                new DbColumn(stock_product_detailTable.product_qty,string.Format("product_qty-({0})",num),DbType.Int32,true),
                new DbColumn(stock_product_detailTable.outstock_qty,string.Format("outstock_qty-({0})",num),DbType.Int32,true)
            };
            return dbColumns;
        }