我有一个简单的查询,它根据DateTime字段提取一些记录。 我无法解释为什么,但有一些日期它不起作用(null结果)。 它似乎与月末的第一天不起作用,而它适用于最后几天(第10天及以上)。
在上面的示例中,它与#04/09/2016#无法同时使用#09/09/2016#!
它可能取决于日期格式吗?
答案 0 :(得分:1)
在SQL视图中,日期始终写为#mm/dd/yyyy#
,即使在设计视图中它是#dd/mm/yyyy#
。所以你的SQL要求4月9日。这是你的意图吗?
答案 1 :(得分:0)
那么如何以编程方式传递正确的日期格式(我使用c#)?
...
它可以像今天一样格式化日期.toString(" MM / dd / yyyy")。
如果您正在使用C#,则不将日期格式化为字符串以构建查询(使用动态SQL )。您应该使用参数化查询,如下所示:
var day = new DateTime(2016, 9, 4);
using (var cmd = new OleDbCommand("SELECT * FROM Prenotazioni WHERE DataArrivo=?", conn))
{
cmd.Parameters.AddWithValue("?", day);
using (OleDbDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
// do stuff
}
}
}