我正在使用以下代码通过变量增加整数列值。但是代码似乎没有更新该值。我在做什么错了?
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();
更新:
答案 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”的值。