0

dateTimeのデータベースフィールドがあります。ウィンドウにDateTimePickerコントロールを追加しました。日付が選択されていない場合は、それが必要です。データベースに何も入力しない次のコードを試しましたが、エラーが返されます。誰かアイデアがありますか?私はWPF、C#およびAccessDBに取り組んでいます

try
{
    string insert_query = "INSERT INTO dbo_tasks ( Date_Created, write_From, Task_To ) " +
                          "VALUES ('" + DP_date.SelectedDate + "', " + txt_from.SelectedValue + ", " + txt_to.SelectedValue + ")";

    con1.Open();
    OleDbCommand cmd = new OleDbCommand(insert_query, con1);
    cmd.ExecuteNonQuery();
}
catch (Exception)
{

    MessageBox.Show("");
}
con1.Close();
4

1 に答える 1

1

日付が選択されていない場合は、ロジックを追加する必要があります。

"INSERT INTO dbo_tasks(Date_Created、write_From、Task_To)VALUES('" + null + "'、" + txt_from.SelectedValue + "、" + txt_to.SelectedValue + ")"

問題は、日付が選択されていない場合、DP_date.SelectedDateがnullを返さないことです。

これにより、dbnullのようにnullが挿入されます。日付はnullを受け入れるsmalldatetimeです

INSERT INTO [test]。[dbo]。[DateRange]([id]、[date])VALUES( '1000'、null)GO

于 2012-05-16T19:46:29.030 に答える