日期条件不适用于我的应用程序,但适用于 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
抱歉我太蠢了哈哈
我有一个奇怪的请求问题。
我有一个 table 和一个名为 'DATE'
.
这里有一个完全一个值的例子: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 抱歉我太蠢了哈哈