日历不支持由字符串表示的DateTime。
之所以出现此错误,是因为您的C#应用程序将日期
2012-14-10视为
14th月份,
10th日期和
2012thyear。白天和一年的工作都可以找到,但是月份却找不到。此外,不要尝试更改C#应用程序查看日期的方式,这是基于系统的文化。
您对如何 定义 一个
DateTime对象以及如何 显示 一个对象感到困惑。
由于您将日期存储为
DateTimeSQL,因此没有充分的理由让我相信您将需要进行 任何 形式的解析。考虑下面的代码示例。
添加参数var dataTable = new DataTable();var dataAdapter = new SqlDataAdapter("SELECt * FROM YourTable", "{connection string}");dataAdapter.Fill(dataTable);var yourDate = dataTable.Rows[0]["Date"]; <=== the type will be DateTime, simple.
让我们以您的示例查询为例:
“ SELECt * FROM date_test WHERe id =‘4’AND日期介于’” + dt1 +“’AND’” + dt2 +“’”;
让我们对其进行修复,请考虑以下示例:
var dataTable = new DataTable();var dataAdapter = new SqlDataAdapter("SELECt * FROM date_test WHERe id = @ID AND date BETWEEN @StartDate AND @EndDate", "{connection string}");dataAdapter.SelectCommand.Parameters.AddWithValue("@ID", "4");dataAdapter.SelectCommand.Parameters.AddWithValue("@StartDate", new DateTime(2012, 10, 1));dataAdapter.SelectCommand.Parameters.AddWithValue("@EndDate", new DateTime(2012, 10, 14));dataAdapter.Fill(dataTable);var yourDate = dataTable.Rows[0]["Date"]; <=== the type will be DateTime, simple.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)