通过asp.net将sql表中的条目增加1

时间:2011-04-01 13:02:11

标签: asp.net sql vb.net

我有一个包含用户名和“点”的数据库。我需要随意增加“积分”。我把表连接到sqldatasource。

这是我目前的代码:

    With Users
        .UpdateCommand = "UPDATE Users SET points = points + 1"
        .Update()
    End With

这很好用,除了用QueryString指定的用户名更改条目,它改变所有条目并添加一个。

sqldatasource具有以下select命令:

SelectCommand="SELECT * FROM [Users] WHERE ([username] = @username)"

此命令使得只显示具有指定用户名的用户名的条目。这是我第一次尝试SQL。任何想法或解决方案都将不胜感激。

- 编辑 -

感谢Oded的帮助,这是工作的最终解决方案:)

With Users
     .UpdateParameters.Add(New Parameter("username", System.Data.DbType.String, My.Request.QueryString("username")))
     .UpdateCommand = "UPDATE Users SET points = points + 1 WHERE ([username] = @username)"
     .Update()
End With

2 个答案:

答案 0 :(得分:4)

您需要指定只更新该用户行:

.UpdateCommand = "UPDATE Users SET points = points + 1 WHERE ([username] = @username)"

如果未指定WHERE子句,UPDATE将适用于所有现有行,如您所见。


编辑:

这是如何添加用户名参数的示例:

.UpdateCommand.Parameters.Add("@username", SqlDbType.NVarChar, 40, "The User Name");

答案 1 :(得分:1)

在UpdateCommand中添加where子句:

 UpdateCommand = "UPDATE Users SET points = points + 1 WHERE ([username] = @username)"