0

これについて本当に助けが必要です。以下のコードで問題が発生することはありますか? すべてのSelectedValueアイテムは、SQL データバインドされたドロップダウン ボックスと 2 つのテキスト ボックスで、1 つはカレンダー コントロール、もう 1 つは単純な文字列入力用です。ユーザーがページに移動し、入力します。私はフィールドを取得DateTime.NowJob_Date、残りは入力された値を取得しますが、日付を取得するものを除きJob_DueDateます (DD/MM/YYYY である 7/06/2013 としてカレンダー コントロールを介して入力されます)。形式) に変換し、DateTime17 時間を追加して、デフォルトでジョブの期日が選択した日の午後 5 時になるようにします。挿入後、テーブルで呼び出されたフィールドOUTPUTに新しく作成された ID を入れたいと思います。私はこれを、私が保存しているIDを返してもらう方法で実行しますtbl_JobJob_IDtbl_job_contactsresult. 2 番目のINSERTクエリでは、その結果と別の結果をテーブルに挿入しSelectValuetbl_job_contactsページを更新します。

protected void submitButton_Click(object sender, EventArgs e)
{
    DateTime dt = DateTime.Now;

    var dd = Convert.ToDateTime(DueDate.Text);
    DueDate.Text = dd.AddHours(17).ToString();

    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["HSEProjRegConnectionString1"].ConnectionString);
    conn.Open();

    SqlCommand cmd1 = new SqlCommand("INSERT INTO tbl_Job(Job_Date,Job_Origin_ID,Job_Department_ID,Job_Priority_ID,Job_Project_ID,Job_Status_ID,Job_DueDate,Job_Project_Item) OUTPUT tbl_Job.Job_ID INTO tbl_job_contacts(Job_ID) VALUES ('" + dt + "', '" + ReferenceOrigin.SelectedValue + "', '" + Department.SelectedValue + "', '" + Priority.SelectedValue + "', '" + Project.SelectedValue + "', '" + Status.SelectedValue + "', '" + DueDate.Text + "', '" + ProjectItem.Text + "')", conn);
    int result = ((int)cmd1.ExecuteScalar());
    SqlCommand cmd2 = new SqlCommand("INSERT INTO tbl_job_contacts(Job_ID,Contact_ID) VALUES ('" + result + "', '" + Sponsor.SelectedValue + "')", conn);
    cmd2.ExecuteNonQuery();
    conn.Close();

    Page.Response.Redirect(Page.Request.Url.ToString(), false);
}

何を切り取ったり変更したりしても、エラーが発生し続けます。DateTime への varchar 変換は範囲外の値であり、2 つあるためにどちらが正しいかわかりません。または、MSDN サイトの内容を使用していると思われるにもかかわらず、Must Declare Local Variable. OUTPUTどの DateTime が間違っているかを確認できるように変更しようとすると、NullException エラーが発生することさえありました。私はこれに本当に苦労しており、誰かが私のコードが間違っている場所を整理するのを手伝ってくれることを願っています.

4

1 に答える 1