![](/img/trans.png)
[英]GridView : how to increase a value from a cell by one on row updating?
[英]GridView: how to increase value of a cell by one everytime at row updating?
我有一个简单的 gridview.SqlDataSource 将 tableData 绑定到 gridview。
在行更新时,我试图将单元格(类型 int )的值增加一个。 这是我的代码,但不起作用:
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow row = GridView1.Rows[e.RowIndex];
string str = ((TextBox)(row.Cells[8].Controls[0])).Text;
int conv = Convert.ToInt32(str);
int set = conv + 1;
string conn = "conn string";
string sqlQuery = "UPDATE TableName SET Total =@Total";
using (SqlConnection dataConnection = new SqlConnection(conn))
{
using (SqlCommand dataCommand = new SqlCommand(sqlQuery, dataConnection))
{
dataCommand.Parameters.AddWithValue("Total", set);
dataConnection.Open();
dataCommand.ExecuteNonQuery();
dataConnection.Close();
}
}
}
我不知道为什么不起作用,我需要将当前编辑行的单元格增加一个。
谢谢
根据您在此处提供的内容,您永远不会添加任何内容
int set = stra + 1;
dataCommand.Parameters.AddWithValue("Total", set);
试试这个
int stra = stra + 1;
dataCommand.Parameters.AddWithValue("Total", stra);
您应该使用e.NewValues
来检索修改后的值
string sqlQuery = "UPDATE TableName SET Total=@Total WHERE ID=@ID"; using (SqlConnection dataConnection = new SqlConnection(conn)) { using (SqlCommand dataCommand = new SqlCommand(sqlQuery, dataConnection)) { var total = (int)e.NewValues["Total"] + 1; dataCommand.Parameters.AddWithValue("Total", total); dataCommand.Parameters.AddWithValue("ID", (int)e.Keys["ID"].Value); dataConnection.Open(); dataCommand.ExecuteNonQuery(); } }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.