【发布时间】:2017-10-17 21:33:32
【问题描述】:
我有一个选择查询。它将字符串作为日期时间传递,如下所示。
string SelectedDate = "16-04-2017";
string query1 = "SELECT * FROM test_details where selected_date <= @init ";
using (SqlCommand command = new SqlCommand(query1, con))
{
command.Parameters.Add("@init", SqlDbType.DateTime).Value = Convert.ToDateTime(SelectedStartDate);
}
这在本地系统中运行良好。但是将代码上传到远程服务器时,它显示错误"System.FormatException: String was not recognized as a valid DateTime."
我也尝试过以下代码。但显示同样的问题。
command.Parameters.Add("@init", SqlDbType.DateTime).Value = DateTime.ParseExact(SelectedStartDate, "mm/dd/yyyy", null);
command.Parameters.Add("@init", SqlDbType.DateTime).Value = SelectedStartDate
【问题讨论】:
-
尝试使用 DateTime.Parse(string) 而不是 DateTime.ParseExact
-
您的代码在日期中有破折号,而您的解析中有正斜杠:“16-04-2017”和“mm/dd/yyyy”