1

以下は、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 に答える