簡體   English   中英

日期處理對我的應用程序不起作用,但在SQL Server中起作用

[英]Date condtion doesn't work on my application but work in SQL Server

我在提出請求時遇到了奇怪的麻煩。 我有一個表,字段名為datetime,名稱為'DATE'

這里是一個值的精確示例: 2015-03-09 00:00:00.000

我在應用程序中(在C#中)執行如下請求: 'SELECT ... WHERE DATE BETWEEN datedeb AND datefin'

這里的datedeb的價值究竟為例: 09/03/2015

當我在應用程序中執行請求時,它根本不起作用,沒有結果。

當我在SQL Server中復制請求(通過MessageBox.Show())時,它可以工作。

當我在應用程序中將datedeb和datefin更改為2015-03-09時,它不起作用。

當我在SQL Server中更改時,它可以工作。

我真的不知道問題出在哪里...您有什么想法嗎?

像這樣:

 SqlCommand command = new SqlCommand("Select * from whatever where Date Between @begin and @end");
 command.Parameters.Add(new SqlParameter("begin", yourbegin));
 command.Parameters.Add(new SqlParameter("end", yourEnd));
 ...

yourBegin和yourEnd的類型為DateTime ...

嘗試使用此:

SqlCommand command = new SqlCommand("SELECT * FROM TABLE WHERE DATE BETWEEN @begin and @end");
command.Parameters.Add("@begin", SqlDbType.DateTime).Value = DateTime.Now;
command.Parameters.Add("@end", SqlDbType.DateTime).Value = DateTime.Now.AddDays(1);

我想說的是,最好將參數作為DateTime類型發送,這樣就不必處理語言環境問題。

好的,我是一個非常愚蠢的男孩。 您知道問題出在哪里嗎? 我忘了寫我想在ConnectionString中使用的數據庫。 我有幾個非常相似的數據庫。 我的應用程序正在其他表中搜索...我非常愚蠢! 非常感謝您的時間,您真棒,特別是@Florian Schmidinger對不起,您很愚蠢

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM