"테이블에 2 개의 다른 ID를 업데이트하려고하면 스칼라 변수를 선언해야합니다."즉, 필요한만큼 여러 번 업데이트 할 수 있습니다 예를 들어 ID # 25하지만 ID 26을 업데이트하려고하면 위의 오류가 발생합니다. 내 삽입 함수는 내 업데이트 기능 만 제대로 작동합니다 .Pls.help 및 시간 주셔서 감사합니다 .DetKeyNames = ID입니다. 여기 있습니다 단지 업데이트 내 코드 :"Post_ID"스칼라 변수를 선언해야 함
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "UPDATE MyTable SET [email protected]_ID, [email protected], [email protected] WHERE [email protected]";
TextBox myTextBox11 = GV_InlineEditing.Rows[0].FindControl("GV_Post_ID") as TextBox;
TextBox myTextBox22 = GV_InlineEditing.Rows[0].FindControl("TextBox2") as TextBox;
TextBox myTextBox33 = GV_InlineEditing.Rows[0].FindControl("TextBox3") as TextBox;
if (myTextBox11 != null)
{
cmd.Parameters.Add("@Post_ID", SqlDbType.VarChar).Value = myTextBox11.Text;
}
else
{
TextBox GV_Post_ID = GV_InlineEditing.Rows[0].Cells[0].FindControl("GV_Post_ID") as TextBox;
}
if (myTextBox22 != null)
{
cmd.Parameters.Add("@Date", SqlDbType.VarChar).Value = myTextBox22.Text;
}
else
{
TextBox GV_Post_ID = GV_InlineEditing.Rows[0].Cells[0].FindControl("Date") as TextBox;
}
if (myTextBox33 != null)
{
cmd.Parameters.Add("@Description", SqlDbType.VarChar).Value = myTextBox33.Text;
}
else
{
TextBox GV_Post_ID = GV_InlineEditing.Rows[0].Cells[0].FindControl("Description") as TextBox;
}
cmd.Parameters.Add("@ID", SqlDbType.Int).Value = Convert.ToInt32(GV_InlineEditing.Rows[e.RowIndex].Cells[1].Text);
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
GV_InlineEditing.EditIndex = -1;
BindData();
피트, 도움 주셔서 감사합니다. 이 메서드는 myTextBox33! = null로 변경하고 "myTextBox33 == null"로 변경했지만 필드를 업데이트하지 않으므로 모든 내용이 동일하게 유지됩니다. 좋은 점은 오류가 발생하지는 않지만 업데이트를 수행하지 않는다는 것입니다. 나는 무엇을 여기에서 놓치고 있냐? 감사 – moe