2016-08-31 47 views
0

我有一個簡單的查詢,根據DateTime字段提取一些記錄。 我無法解釋爲什麼,但有些日期它不起作用(空結果)。 看起來它不適用於當月的第一天,而它與最後幾天(第10天和以上)一起工作。訪問失敗,DATETIME查詢

Access Table and SQL Query

在它上面的例子,而它與#9月9日/ 2016#的作品不是以#04/09/2016#工作!

它可能取決於日期格式?

回答

0

那麼我怎樣才能以編程方式傳遞正確的日期格式(我正在使用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 
     } 
    } 
} 
+0

謝謝,我會試試這個解決方案。 –

1

在SQL視圖中,日期始終寫爲#mm/dd/yyyy#,即使在設計視圖中它是#dd/mm/yyyy#。所以你的SQL請求4月9日。這是你的意圖嗎?

+0

不,我嘗試請求9月4日。那麼我如何以編程方式傳遞正確的日期格式(我正在使用c#)? –

+0

好的解決了!它可以像日期那樣格式化日期.toString(「MM/dd/yyyy」)。謝謝 –