如何在提交到服务器之前验证c#中的有效日期时间

时间:2016-03-15 09:59:13

标签: c# datetime console

您好我收到此错误:

写记录编号:

  

60479System.Data.SqlTypes.SqlTypeException:SqlDateTime溢出。必须   在1/1/1753 12:00:00 AM和12/31/9999 11:59:59 PM之间。

我试过这个:

try
{
     DateTime dt = Convert.ToDateTime(fireBirdReader["DUEDATE"]);
     cmd.Parameters.AddWithValue("@DUEDATE", fireBirdReader["DUEDATE"]);
}
catch
{
     cmd.Parameters.AddWithValue("@DUEDATE", DateTime.Now);
}

我也试过这个:

DateTime temp;
if(DateTime.TryParse(startDateTextBox.Text, out temp))
{
cmd.Parameters.AddWithValue("@DUEDATE", temp);
}
else
{
cmd.Parameters.AddWithValue("@DUEDATE", DateTime.Now);
}

但他们都没有工作。我正在使用c#和控制台应用程序。

为什么你标记为重复,答案在我的情况下不起作用。你能亲自测试一下吗?尝试之前不要试图过智能。我也可以搜索google和stackoverflow。

1 个答案:

答案 0 :(得分:0)

我认为您应该在TryParse之后以及在将它作为参数传递给命令查询对象之前将DateTime值解析为字符串。

dateTime.ToString("yyyy-MM-ddTHH:mm:ss.fff")