如果在日期字段中传递空值,如何转换日期时间
how to convert date time if passing null value in date field
如何存储空值以及如何在数据库中插入空值?
我收到此错误。
String was not recognized as a valid DateTime.
if (taskObj.EstimatedTime == null)
{
taskObj.EstimatedTime = Convert.ToDateTime(estimateTimeLabel.Text);
}
public DateTime EstimatedTime
{
set { estimatedTime = value; }
get { return estimatedTime; }
}
您需要在数据库中指定允许特定列为空。
如果您已经有一个数据库,您可以运行像这样:
ALTER COLUMN `YourColumn` datetime2() DEFAULT NULL
这将允许您在数据库中使用 null。
您还需要将代码中的日期时间转换为 Nullable 类型。否则 .NET 会出现默认日期 1/1/0001 12:00:00 AM(不是很有用)。
有两种方法可以做到这一点。我个人推荐第一个,但这完全取决于编码风格。
您可以使用 ?运算符:
public DateTime? EstimatedTime
{
set { estimatedTime = value; }
get { return estimatedTime; }
}
或者通过 Nullable 泛型函数:
public Nullable<DateTime> EstimatedTime
{
set { estimatedTime = value; }
get { return estimatedTime; }
}
不要忘记也将您的 estimatedTime 字段转换为可为 null 的类型(再次使用 ? 运算符或 Nullable。
希望对您有所帮助。如果没有,请给我留言,我会尽力帮助您。
如何存储空值以及如何在数据库中插入空值? 我收到此错误。
String was not recognized as a valid DateTime.
if (taskObj.EstimatedTime == null)
{
taskObj.EstimatedTime = Convert.ToDateTime(estimateTimeLabel.Text);
}
public DateTime EstimatedTime
{
set { estimatedTime = value; }
get { return estimatedTime; }
}
您需要在数据库中指定允许特定列为空。
如果您已经有一个数据库,您可以运行像这样:
ALTER COLUMN `YourColumn` datetime2() DEFAULT NULL
这将允许您在数据库中使用 null。
您还需要将代码中的日期时间转换为 Nullable 类型。否则 .NET 会出现默认日期 1/1/0001 12:00:00 AM(不是很有用)。
有两种方法可以做到这一点。我个人推荐第一个,但这完全取决于编码风格。
您可以使用 ?运算符:
public DateTime? EstimatedTime
{
set { estimatedTime = value; }
get { return estimatedTime; }
}
或者通过 Nullable 泛型函数:
public Nullable<DateTime> EstimatedTime
{
set { estimatedTime = value; }
get { return estimatedTime; }
}
不要忘记也将您的 estimatedTime 字段转换为可为 null 的类型(再次使用 ? 运算符或 Nullable。
希望对您有所帮助。如果没有,请给我留言,我会尽力帮助您。