我有一個簡單的查詢,根據DateTime字段提取一些記錄。 我無法解釋爲什麼,但有些日期它不起作用(空結果)。 看起來它不適用於當月的第一天,而它與最後幾天(第10天和以上)一起工作。訪問失敗,DATETIME查詢
在它上面的例子,而它與#9月9日/ 2016#的作品不是以#04/09/2016#工作!
它可能取決於日期格式?
我有一個簡單的查詢,根據DateTime字段提取一些記錄。 我無法解釋爲什麼,但有些日期它不起作用(空結果)。 看起來它不適用於當月的第一天,而它與最後幾天(第10天和以上)一起工作。訪問失敗,DATETIME查詢
在它上面的例子,而它與#9月9日/ 2016#的作品不是以#04/09/2016#工作!
它可能取決於日期格式?
那麼我怎樣才能以編程方式傳遞正確的日期格式(我正在使用c#)?
...
它的工作原理格式化這樣day.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
}
}
}
在SQL視圖中,日期始終寫爲#mm/dd/yyyy#
,即使在設計視圖中它是#dd/mm/yyyy#
。所以你的SQL請求4月9日。這是你的意圖嗎?
不,我嘗試請求9月4日。那麼我如何以編程方式傳遞正確的日期格式(我正在使用c#)? –
好的解決了!它可以像日期那樣格式化日期.toString(「MM/dd/yyyy」)。謝謝 –
謝謝,我會試試這個解決方案。 –