2011-12-28 68 views
0

我有一個小問題。 我已經使用了dateTimePicker,並且我創建了一個日曆。使用C#,SQL數據庫,如何

private void dateTimePicker1_ValueChanged(object sender, EventArgs e) 
    { 
     DateTime varDate; 
     varDate = dateTimePicker1.Value; 
    } 

我創建了一個名爲submit的按鈕。 我的任務是當一個日期被選中並且點擊該按鈕時,它應該顯示一個數據庫中的數據庫中的記錄直到選定的日期。 例如,如果我選擇12.28.2011,那麼它應顯示小於該日期的所有記錄。 我已經創建了數據庫連接和所有。但我們如何比較日期?

請給我一些建議。 非常感謝您花時間閱讀這個問題。

+1

您是否試過在谷歌搜索關於如何在C#.NET中使用數據庫的教程? – 2011-12-28 11:16:23

回答

0

這取決於您是從數據庫加載所有數據還是隻想從數據庫加載數據到給定日期。

如果你採用第一種方法,那麼你可以使用DateTime對象來保存你的日期,並將它們與你擁有的日期進行比較,read more here.這樣做的好處是你只需要使用一個數據庫連接來加載所有的數據,但你必須把它保存在內存中,如果你有大量的數據,你可能會加載的方式很多。例如,這將使快速分頁。

如果你使用第二種方法,那麼你應該改變你的SQL查詢來使用where子句來防止DB根據你的語句read more about sql here加載任何日期。這隻會給你你真實想要顯示的記錄,但如果你改變日期,它會強制你打開更多的數據庫連接,這會減慢分頁等。

0

也許這樣的事情會有所幫助:

string query = "SELECT * FROM YourTable WHERE dateField < @dateParameter"; 
SqlCommand sqlCommand = new SqlCommand(query, yourConnection); 
sqlCommand.Parameters.Add("dateParameter", SqlDbType.DateTime).Value = dateTimePicker1.Value; 

var filteredList = yourFullList.Where(x=>x.date<dateTimePicker1.Value); 

或給出更多的信息/代碼,你在做什麼。

相關問題