2015-03-19 71 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