日期条件不适用于我的应用程序,但适用于 SQL 服务器

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

我有一个奇怪的请求问题。 我有一个 table 和一个名为 'DATE'.

的字段 'datetime'

这里有一个完全一个值的例子:2015-03-09 00:00:00.000

我在我的应用程序中(在 C# 中)做了一个这样的请求:'SELECT ... WHERE DATE BETWEEN datedeb AND datefin'

这里是 datedeb 值的确切示例:09/03/2015

当我在我的应用程序中执行请求时,它根本不起作用,没有结果。

当我在 SQL 服务器中复制请求(通过 MessageBox.Show())时,它有效。

当我在我的应用程序中将 datedeb 和 datefin 更改为 2015-03-09 时,它不起作用。

当我更改 SQL 服务器时,它可以工作。

我真的不知道问题出在哪里...你有什么想法吗?

像这样:

 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 中写下我想使用的数据库。我有几个非常相似的数据库。 我的应用程序正在搜索另一个 table ... 我很笨! 非常感谢您的宝贵时间,您太棒了,特别是@Florian Schmidinger 抱歉我太蠢了哈哈