【发布时间】:2014-07-07 17:13:49
【问题描述】:
我目前正在开展一个已实施投票的项目。
现在,在我的数据库中,我有一个名为 options 的表,有 2 列 optionId(bigint) 和 count(bigint),计数的默认值为所有行中的 0。 我想通过单击按钮来增加特定的计数字段。
例如,我必须增加具有 optionId =(通过的某个数字)的计数值(用于投票特定选项)
我正在使用存储过程来执行此操作,但不幸的是,所有行都在递增,
我只想更新一行
这是在按钮点击时触发的代码
Int32 optionid = Convert.ToInt32(RadioButtonList1.SelectedValue); 使用 (SqlConnection Conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ManagerConnectionString"].ConnectionString)) { Conn.Open(); incrementTheVote.incrementVote(optionid); }这是我在其中调用存储过程的类(incrementTheVote)的定义
公共类增量投票 { 公共静态 int incrementVote(int optionid) { int rowsaffected = 0; 使用 (SqlConnection Conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ManagerConnectionString"].ConnectionString)) { Conn.Open(); SqlCommand cmd = new SqlCommand("incrementVote", Conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@optionid", SqlDbType.Int).Value = optionid; rowsaffected = cmd.ExecuteNonQuery(); } 返回受影响的行; } }这是存储过程
改变程序增量投票 ( @optionid 大整数 ) 作为 开始交易 从 optionid = @optionid 的选项中选择投票 更新选项 SET 票数 = 票数 + 1 提交交易【问题讨论】:
标签: asp.net sql-server sql-server-2008 tsql stored-procedures