当datetime没有被用户填充时传递空值? [英] pass the null value when datetime is not filled by user?
本文介绍了当datetime没有被用户填充时传递空值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
IFormatProvider provider1 = new System.Globalization.CultureInfo("en-CA", true);
String reservedate = txtreservedate.Text.Trim().ToString();
if (!string.IsNullOrEmpty(reservedate))
{
DateTime datereservered = DateTime.Parse(reservedate, provider1, System.Globalization.DateTimeStyles.NoCurrentDateDefault);
objvehiclePL.reserveddate = datereservered;
}
else
{
objvehiclePL.reserveddate = Convert.ToDateTime(null);
}
这里我在其他情况下得到例外情况..请帮帮我?
例外
SqlDateTime溢出。必须在1/1/1753 12:00:00 AM和12/31/9999 11:59:59 PM之间。
here i get exception at else condition .. please help me?
exception
SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.
推荐答案
您无法将空值转换为日期时间格式。
这对您有帮助。
如何将空字符串转换为日期时间 [ ^ ]
使用TryParse方法,请参阅以下示例:
Use TryParse method, see the following example:
using System;
public class Program
{
public static void Main()
{
string dateString = null;
//string dateString = "";
//string dateString = "2014-4-7";
DateTime dt;
Console.WriteLine(DateTime.TryParse(dateString, out dt));
}
}
如果允许用户输入无效日期的日期,则应始终使用TryParse,包括null和空字符串。
我的建议是使用一个日期选择器或日历控件,它总会返回一个有效的日期并为你节省所有麻烦。
You should always use TryParse if you allow users to enter date for invalid date, including null and empty string.
My suggestion is use a datepicker or calender control which will always returns a valid date and save you all this hassle.
只需传递null值,如图所示。 br $>
objvehiclePL.reserveddate = System.DBNull;
Just pass null value as shown.
objvehiclePL.reserveddate = System.DBNull;
这篇关于当datetime没有被用户填充时传递空值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文