DateTime过滤不起作用

时间:2012-05-07 09:45:44

标签: c# sql datetime sql-server-ce

我在Visual Studio(SQL Server Compact Edition)中有一个本地数据库,其中包含一些包含几列的表。其中一列的数据类型为DateTime。当我要插入一行时,我在C#中使用DateTime.Now添加日期/时间值。

我做的时候

SELECT * FROM ...

我看到DateTime格式为7-5-2012 11:41

但现在我需要使用where子句进行选择查询,以便结果在某些天之间。当我使用DateTime.Now函数设置我得到的0行之间时,我找不到在日期/时间之间进行过滤的方法。但是当我通过设置

手动设置
WHERE date BETWEEN '7-5-2012 00:00' AND '8-5-2012 00:00'

然后我得到0值。

我也尝试用SqlCeCommands来做,但是给出了同样的问题,0行回来了。

有人说我做错了或者我怎么做这个?

提前谢谢!

2 个答案:

答案 0 :(得分:2)

可能是您的日期格式错误,您应该使用查询命令参数:

command.CommandText = "SELECT * FROM ... WHERE date BETWEEN @lowb AND @highb";
command.Parameters.Add( "@lowb", SqlDbType.DateTime, new DateTime(...));
command.Parameters.Add( "@highb", SqlDbType.DateTime, new DateTime(...));

答案 1 :(得分:0)

试试这个:

"..spRis_GetListaDocs @DateFilter = '" + Convert.ToDateTime(txtDate.Text).ToString("yyyy-MM-dd") + "'"
相关问题