2015-03-19 70 views
0

我怎樣才能比較SQL服務器(Date)和C#(DateTime.Now.Date), 我想給我關於這個比較的消息框。SQL日期和C#之間的比較Datetime.now.date

public Form1() 
{ 
    DateTime dat1 = new DateTime(); 
    dat1 = DateTime.Now.Date; 

    InitializeComponent(); 
} 

private void Form1_Load(object sender, EventArgs e) 
{ 
    if (dateTimePicker1.ToString == DateTime.Now.Date) 
    { 
     MessageBox.Show("date equla datetime.now.date", "etention", MessageBoxButtons.OK, MessageBoxIcon.Information); 
    } 

} 

private void dateTimePicker1_ValueChanged(object sender, EventArgs e) 
{ 
    // selected this date in SQLserver 
} 
+2

我看不出有什麼在這裏做SQL的任何代碼。假設你有一個DateTimePicker,並且你想要將* *與DateTime.Now.Date進行比較(它更容易寫成DateTime.Today,但是我們不知道它與SQL或即使是什麼類型的應用程序(網絡,WinForms,WPF,其他)? – 2015-03-19 07:43:53

+0

我不確定,你是在尋求創建SQL-Query方面的幫助還是關於一般的數據類型? – 2015-03-19 07:44:50

+0

如果你想比較日期,你可以採取的*最糟糕的步驟是將它們轉換爲字符串(正如你目前在'Form1_Load'中嘗試的那樣)。只要它們在*適當的*類型變量(例如'DateTime')比較等中,就可以正常工作。只要你轉換爲字符串,你突然不得不考慮* format *日期將會在哪裏。 – 2015-03-19 08:23:52

回答

0

將兩者轉換爲相同的格式。 在你的情況下,dateTimepicker是字符串,並且SQL日期沒有被檢索到。 選擇SQL日期使用getdate()然後將兩者轉換爲相同的格式並進行比較。

0

變化Form_Load事件的條件,因爲這:

if (dateTimePicker1.Value.Date == DateTime.Now.Date) 
    { 
     MessageBox.Show("date equla datetime.now.date", "etention", MessageBoxButtons.OK, MessageBoxIcon.Information); 
    } 
+0

如果我把這段代碼放在Timer中,你認爲程序會給我答案Automatic – 2015-03-19 08:39:34