我正在使用asp.net網格視圖從我的sql數據表中加載數據。我能夠成功加載數據。asp.net網格視圖批量更新所有單元格
SQL表DESGIN: 3 cloumns:位置,名字,姓氏
位置是主鍵。
設計:
Aspxpage具有有兩個按鈕在底部一個GridView:
- 編輯
- 保存
當用戶點擊編輯按鈕,所有的細胞在GridView都是可編輯的,以便用戶可以編輯和保存這些值。
我的問題出現在保存按鈕,我無法將編輯的數據保存回SQL。
這裏是保存按鈕,單擊該代碼:
protected void btnSave_Click(object sender, EventArgs e)
{
int RowIndex=0;
GridViewRow row = (GridViewRow)gvres.Rows[RowIndex];
TextBox txtLanguage1 = row.FindControl("txtFName") as TextBox;
TextBox txtLanguage2 = row.FindControl("txtLName") as TextBox;
SqlConnection myConnection = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("UPDATE UsersTable SET FirstName = @FirstName, LastName = @LastName WHERE Location = @Location", myConnection);
cmd.Parameters.AddWithValue("@FirstName", txtFirstName.Text.Trim());
cmd.Parameters.AddWithValue("@LastName", txtLastName.Text.Trim());
myConnection.Open();
cmd.ExecuteNonQuery();
gvusers.EditIndex = -1;
DataBind();
}
例外: 「必須聲明標量變量 」@location「。」
@Location表示插入/更新需要將該字段傳入/添加到您的cmd.Parameters中,您將添加@Location ...?看看你有這個WHERE Location的位置= @Location「,myConnection); add/declare cmd.Parameters.AddWithValue(」@ Location「,someLocationValue.Trim()); – MethodMan
RowIndex變量被硬編碼爲0,所以只有第一行將被更新如果整個網格只有一個保存按鈕,那將是一個問題 –
是啊,這就是我現在發現的。它只是upadating第一行..所以我怎麼循環所有的行並更新。 – Macnique