2013-02-22 33 views
0

我有一個SQL Server表Registration與名稱和日期時間,我想用日期時間少於datetime.now搜索數據。如何搜索SQL Server數據庫使用C#

SqlDataAdapter cs = 
    new SqlDataAdapter("Select * from Registration where Date > DateTime.now") 

我希望日期時間少於今天。

+3

你需要學習ADO.Net,你有什麼嘗試?你在哪裏看?這是msdn頁面: - http://msdn.microsoft.com/en-us/library/aa577376(v=bts.20).aspx – Derek 2013-02-22 15:56:51

+0

http://www.databasejournal.com/features/mssql/article。 php/2209321 /使用SQL-Server-DateTime-Variables-Part-Three ---正在搜索特定日期值和範圍.htm – Win 2013-02-22 15:57:06

+0

您需要一個帶有參數的SqlCommand:http:// msdn .microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters.aspx – 2013-02-22 15:57:07

回答

3

您可以使用SQL GETDATE()做到這一點:

SqlDataAdapter cs = new SqlDataAdapter("Select * from Registration where Date < GETDATE()") 
+0

但親愛的表Columen DataType是DateTime不僅日期?? – 2013-02-22 16:29:18

+0

親愛的,但如果我想手動輸入日期在文本框或選擇日期monthcalender1什麼是代碼? – 2013-02-22 17:36:35

4

的T-SQL內置函數getdate()返回當前服務器日期/時間。

因此,您的查詢應該是SELECT * FROM Registration WHERE [Date] < getdate()

在代碼中使用,這將是:

SqlDataAdapter cs = new SqlDataAdapter("Select * from Registration where [Date] < getdate()") 
+0

這個問題說少於datetime.now – 2013-02-22 15:59:28

+0

@IswantoSan是的,壞的複製粘貼。謝謝 – 2013-02-22 16:00:01

+0

但親愛的表Columen DataType是DateTime不僅日期?? – 2013-02-22 16:28:23

2

使用GETDATE()獲得當前日期查詢。

SqlDataAdapter cs = new SqlDataAdapter("Select * from Registration where Date < GETDATE()"); 
+0

但親愛的表Columen DataType是DateTime不僅日期?? – 2013-02-22 16:33:35

1

這可能工作...如果你想使用.NET日期時間,那將是本地系統的日期。

 SqlDataAdapter cs = new SqlDataAdapter(
      "SELECT * FROM [Registration] 
      WHERE [Date] < '" + DateTime.Now.ToShortDateString() +"';"); 

    //output: SELECT * FROM [Registration] WHERE [Date] < '2/22/2013'; 

這將取決於[日期]列的數據類型,如果它是字符串或日期時間或其他。如果它是YYYYmmdd,那麼你可以操縱DateTime.Now輸出來匹配。

+0

親愛的但如果我想手動輸入日期在文本框或選擇日期monthcalender1什麼是代碼? – 2013-02-22 17:36:10

+0

如果使用文本框,請收集和DateTime.TryParse()輸入的文本。如果你使用的是日曆控件,它應該有一種方法來以你需要的任何格式導出日期。將數據值放在字符串中代替'DateTime.Now.ToShortDateString()' – zax0978 2013-02-23 19:25:23

1

它很簡單..

如果你想使用SQL當前日期時間使用 SELECT * FROM註冊

WHERE [日期] < GETDATE()

,如果你想你的應用程序當前日期時間使用

「SELECT * FROM註冊WHERE [日期] < '+ Datetime.Now.Tostring()+'」

也可以嘗試,如果你想第二個選項使用參數化查詢。

相關問題