【发布时间】:2012-04-13 07:14:44
【问题描述】:
我有一个简单的 gridview 和 sqldatasource 来将数据从数据表绑定到 gridview。
- //“Column”是一列,类型:int,加一,主键
// ID 只是一个列类型 int 这是我在行更新事件中的代码:
string con = "conn string";
string sqlQuery = "Update TableName set Column = @Column WHERE RowID = '1' (//here I need to get the current editing row number)";
using (SqlConnection dataConnection = new SqlConnection(con))
{
using (SqlCommand dataCommand = new SqlCommand(sqlQuery, dataConnection))
{
int vas = 121;
dataCommand.Parameters.AddWithValue("Column", vas);
dataConnection.Open();
dataCommand.ExecuteNonQuery();
dataConnection.Close();
}
}
这是我的问题:
1.对于这段代码:string sqlQuery = "UPDATE mytable SET ID = '131' WHERE No = '1'";
- 我不想设置 No fixed ,我想这样设置 No=CurrentEditingRowNumber 但我不知道该怎么做 让它发挥作用。
- 我知道如何获取当前编辑(这样想):GridViewRow 行 = GridView1.Rows[e.RowIndex];
- 但我不知道如何在更新语句中使用它
2.对于上面的代码,如果我在浏览器中打开它,假设有 2 行( 1 和 2 ),我的代码说如果 No = 1 则更新。
如果按更新到第一行没有任何反应,但如果我从第二行按更新,则代码将在第一行执行,因为它是编码的。我该如何解决这个问题?
谢谢
【问题讨论】: