我試圖更新基於我的數據庫中的列或不在GridView中檢查複選框。此更新僅在button_click後發生。問題可能是我的語法,所以如果有人能糾正我,那將非常感激。根據複選框的值更新列
看到這裏我的代碼:
protected void ButtonAfTeHalen_Click(object sender, EventArgs e)
{
foreach (GridViewRow r in GridViewOrders.Rows)
{
if (((CheckBox)r.Cells[0].FindControl("CheckBoxATH")).Checked == true
&& (Label)r.Cells[3].FindControl("LabelOrderID") != null)
{
string conn2 = "Data Source=pc-...";
CheckBox checkBoxATH = (CheckBox)GridViewOrders.FindControl("CheckBoxATH");
Label orderID = (Label)r.Cells[3].FindControl("LabelOrderID");
LabelTestID.Visible = true;
LabelTestID.Text = orderID.Text.ToString();
System.Data.SqlClient.SqlConnection sqlConn10 = new System.Data.SqlClient.SqlConnection(conn2);
sqlConn10.Open();
System.Data.SqlClient.SqlCommand updateCommand =
new System.Data.SqlClient.SqlCommand("UPDATE tblOrders SET Status= " + checkBoxATH.Checked + " WHERE [email protected]", sqlConn10);
updateCommand.Parameters.AddWithValue("@orderID", LabelTestID.Text);
updateCommand.ExecuteNonQuery();
}
}
}
錯誤說:對象引用不設置到對象的實例。
錯誤@更新語句。但它確實在標籤上顯示訂單的ID。只有gridview中最低檢查順序的ID tho,不是所有選定的ID。
Regards Mati
檢查空的checkBoxATH,訂單ID以及您是否在找control.And提供有效的值也告訴我們行你得到這個錯誤。 – varadarajan 2011-04-14 08:24:24
看來你並沒有使用'GridViewRow r'變量。 – jfs 2011-04-14 08:25:52
@jfs:true,if if(((CheckBox)r.Cells [0] .FindControl(「CheckBoxATH」))。Checked == true) {}'在我的代碼中,問題依然存在。 Still Object not set to ... – Dieter 2011-04-14 08:33:17