按变量递增整数列值

时间:2019-02-27 05:46:39

标签: c# .net sql-server

我正在使用以下代码通过变量增加整数列值。但是代码似乎没有更新该值。我在做什么错了?

SqlCommand command = new SqlCommand("UPDATE maintable SET counter=counter+@cvalue WHERE uname=@username", c);
command.Parameters.AddWithValue("@username", "me");
command.Parameters.AddWithValue("@cvalue", value);
command.ExecuteNonQuery();

更新:

enter image description here

3 个答案:

答案 0 :(得分:0)

尝试

UPDATE maintable SET counter=ISNULL(counter,0)+@cvalue WHERE uname=@username

答案 1 :(得分:0)

counter和cvalue的数据类型均为int还是小数?否则将不会对字符串

进行增量
SqlCommand command = new SqlCommand("UPDATE maintable SET counter=ISNULL(counter,0)+ISNULL(@cvalue,0) WHERE uname=@username", c);
command.Parameters.AddWithValue("@username", "me");
command.Parameters.AddWithValue("@cvalue", value);
command.ExecuteNonQuery();

答案 2 :(得分:0)

为什么不直接传递数据而不是像参数一样传递

  SqlCommand command = new SqlCommand("UPDATE maintable SET counter=(ISNULL(counter,0) + " + value + ") WHERE uname='me'", c);
  command.ExecuteNonQuery();

请检查一次变量“ value”的值。