0

SQL Server テーブルのDateフィールドに値を挿入しようとしている DatePicker があります。

tbl_leave_student updateStdLeave = new tbl_leave_student{
                leave_from=Convert.ToDateTime( dpLeaveFromStd.SelectedDate.GetValueOrDefault())
            };
            db.tbl_leave_students.InsertOnSubmit(updateStdLeave);
            db.SubmitChanges();

これにより、メッセージとともにフォーマット例外が発生します

入力文字列は、正しい形式ではありませんでした

Convert.ToDateTimeandなしで挿入しようとしましdpLeaveFromStd.SelectedDate (without the .GetValueOrDefault())たが、同じエラーが発生しました。何か理由は?

4

3 に答える 3

1

Nullable DatePicker を使用していて、おそらく null 値を取得していると思います。

したがって、コードを次のように変更してみてください。

leave_from = dpLeaveFromStd.SelectedDate.GetValueOrDefault(DateTime.Now);

したがって、値がnullの場合、これはデフォルトで今日に設定されます

于 2013-08-30T04:39:02.253 に答える
1

あなたは以下のようにすることができます

leave_from = dpLeaveFromStd.SelectedDate ?? DateTime.Now;
于 2013-08-30T04:56:20.517 に答える
0

常に D ateTime.TryParseExactを使用する必要があります。

string[] formats = { "dddd, dd MMMM yyyy" };  //your format here
DateTime dt;
if (DateTime.TryParseExact(dpLeaveFromStd.SelectedDate.GetValueOrDefault(), formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
{

}
于 2013-08-30T04:29:52.653 に答える