데이터베이스 기반의 열을 업데이트하려고했으나 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가 표시됩니다. 모든 선택된 ID가 아니라 가장 낮은 체크 된 주문 ID입니다. 나에게 Null 참조 같은
감사 마티
체크 널은 당신이 발견 통제 센터에 유효한 값을 제공 여부를이 오류가 무엇 라인도 알려주십시오. – varadarajan
'GridViewRow r' 변수를 사용하지 않는 것 같습니다. – jfs
@jfs : true, if ((CheckBox) r.Cells [0] .FindControl ("CheckBoxATH")). Checked == true) {}'내 코드에 문제가 남아 있습니다. 아직 개체가 ...로 설정되지 않았습니다. – Dieter