gpt4 book ai didi

c# - 在 SQL Server 中解析日期时出现 SqlDateTime 溢出错误

转载 作者:太空宇宙 更新时间:2023-11-03 21:24:43 25 4
gpt4 key购买 nike

我正在尝试将日期从 C# 保存到 SQL Server。首先要向用户显示日期格式为 dd/MM/yyyy。然后在 Winforms 屏幕上选择日期后。我想将它保存到数据库中。如果我删除代码中的 datetimePicker1.CustomFormat 行,它可以很好地保存到数据库中。但我想将日期格式显示为 dd/MM//yyyy。如何解决?

我收到这个错误:

SqlDateTime overflow.Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.

代码:

//c#   
DateTime fromDate;

public void SetMyCustomFormat()
{
// Set the Format type and the CustomFormat string.
//dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "dd/MM/yyyy";

DateTime.TryParse(dateTimePicker1.Text, out fromDate);
fromDate = fromDate.Date;
}

最佳答案

您没有包含关于 SQL Server 在何处使用此值的任何代码,但该错误可能是由于 D/M/Y 格式造成的。这将导致问题,例如,12 月 31 日,因为它将作为文本 31/12/2014 传递,这通常会在转换为日期时导致问题(取决于区域设置)。

对于您的情况,只需使用 DateTimePicker.Value property提取日期。这将返回一个 DateTime 类型,因此您不必解析该值。

DateTime fromDate;
public void SetMyCustomFormat()
{
// Set the Format type and the CustomFormat string.
dateTimePicker1.CustomFormat = "dd/MM/yyyy";
fromDate = dateTimePicker1.Value.Date;
}

关于c# - 在 SQL Server 中解析日期时出现 SqlDateTime 溢出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27934458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com