我有一个包含用户名和“点”的数据库。我需要随意增加“积分”。我把表连接到一个sqldatasource。通过asp.net在sql表中增加一个条目1
这里是我当前的代码:
With Users
.UpdateCommand = "UPDATE Users SET points = points + 1"
.Update()
End With
这个伟大的工程,除了,而不是仅仅改变由查询字符串指定的用户名进入,它改变了所有条目,并增加了一个。
在SqlDataSource具有下列选择命令:
SelectCommand="SELECT * FROM [Users] WHERE ([username] = @username)"
此命令使它,以便仅显示与查询字符串指定的用户名的条目。这真是我第一次尝试SQL。任何想法或解决方案,将不胜感激。
- 编辑 -
感谢您的帮助俄德,这里是我的最终解决方案,工作 :)
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
我不在你的命令中看到一个WHERE,那它应该怎么知道它有什么更新?即使SelectCommand指定用户名,Update命令也不会。 – Hallaghan 2011-04-01 13:04:55
是的,这就是为什么我问,这是我第一次使用实际的SQL命令。 – FreeSnow 2011-04-01 13:12:50