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