1

下面是更新gridview的代码。在gridview 中,我在更新网格中使用下拉列表、日期选择器和文本框。我得到的所有值都是正确的。主要问题是我无法更新数据库中的Case_StatusCase_Type。如果即时更新,则数据库中的两个值都更新为 NULL。我在 Visual Studio 中使用断点检查了V1V2的值。这两个值都是期望的结果。但更新 NULL...

在“ GridView1.EditIndex = -1; ”上,我在检查断点时得到值4 ..

    con.Open();
    SqlCommand cmd = new SqlCommand("UPDATE intakesheet SET case_number = @case_number, case_name = @case_name, Case_Type = @Case_Type, Case_Status = @Case_Status, assigned_date = @assigned_date, assigned_to = @assigned_to, date_withdrawn= @date_withdrawn, date_delivered= @date_delivered, qc_by = @qc_by,  qc_date= @qc_date, additional_notes = @additional_notes WHERE (case_number = @case_number)", con);
    cmd.Parameters.Add("@case_number", SqlDbType.NVarChar).Value = case_number;
    cmd.Parameters.Add("@case_name", SqlDbType.NVarChar).Value = case_name;
    cmd.Parameters.AddWithValue("@Case_Type", v1);
    cmd.Parameters.AddWithValue("@Case_Status", v2);
    cmd.Parameters.Add("@assigned_date", SqlDbType.NVarChar).Value = assigned_date;
    cmd.Parameters.AddWithValue("@assigned_to", assigned_to);
    cmd.Parameters.AddWithValue("@date_withdrawn", date_withdrawn);
    cmd.Parameters.AddWithValue("@date_delivered", date_delivered);
    cmd.Parameters.AddWithValue("@qc_by", qc_by);
    cmd.Parameters.AddWithValue("@qc_date", qc_date);
    cmd.Parameters.Add("@additional_notes", SqlDbType.NVarChar).Value = additional_notes;

    cmd.ExecuteNonQuery();
    GridView1.EditIndex = -1;
    con.Close();

}
4

2 回答 2

1
cmd.Parameters.AddWithValue("@Case_Type", Integer.Parse(v1));
cmd.Parameters.AddWithValue("@Case_Status", Integer.Parse(v2));

试试这个代码!

于 2013-08-03T04:39:03.453 回答
0

将您的值转换为字符串.....

cmd.Parameters.AddWithValue("@Case_Type", v1.ToString());
cmd.Parameters.AddWithValue("@Case_Status", v2.ToString());
于 2013-08-03T04:24:00.663 回答