用于添加值的 SQL 更新语句
public void InsertUserReputation()
{
StringBuilder sb = new StringBuilder();
sb.Append("UPDATE u ");
sb.Append(" SET u.Reputation = (u.Reputation + @Reputation)");//Problem is here u.Reputation is "Null" not 0... I think i need some if statement to check if it is a null and then update it to 0 and then add..what do you think?
sb.Append(" FROM Users u");
sb.Append(" INNER JOIN Comments c ON c.UsersID = u.UsersID");
sb.Append(" WHERE c.CommentsID = @CommentsID");
using (SqlConnection conn = new SqlConnection(AllQuestionsPresented.connectionString))
{
SqlCommand cmd = new SqlCommand(sb.ToString(), conn);
cmd.Parameters.Add("@Reputation", SqlDbType.Int).Value = 5;
cmd.Parameters.Add("@CommentsID", SqlDbType.Int).Value = commentID;
conn.Open();
cmd.ExecuteNonQuery();
}
}
我想为用户在线程中留下的评论添加 5 分的声誉..但它无法更新为什么?/... commentID 确实获得了一个值,因此声誉参数
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(3)
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
更改
为:
因此在添加
@Reputation
之前将Reputation
字段中的NULL
更改为0
。或者,如果您首先将所有
NULL
值设置为0
,然后使用语句 ="">NOT NULL ,则可以保留代码。 “http://msdn.microsoft.com/en-us/library/ms190273.aspx”rel="nofollow">更改表。执行以下命令一次:Change
into:
so
NULL
s inReputation
field are changed into0
before adding@Reputation
.Alternatively, you can keep your code if you first set all
NULL
values to0
and then make the fieldNOT NULL
using statement ALTER TABLE. Execute the following, once: