データテーブルからグリッドビューにデータをバインドするための単純なグリッドビューと sqldatasource があります。
- // 「列」は列、型: int、1 ずつインクリメント、主キー
// 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 row = GridView1.Rows[e.RowIndex];
- しかし、更新ステートメントでそれを使用する方法がわかりません
2.上記のコードをブラウザで開いた場合、2 行 ( 1 と 2 ) があり、コードで No = 1 の場合に更新するように指示されているとします。
最初の行に [更新] を押しても何も起こりませんが、2 行目から [更新] を押すと、コードはコード化されたとおりに最初の行で実行されます。どうすれば修正できますか?
ありがとう