积极答复者
sql server数据库通过时间段来筛选数据,提示从字符串转换日期和/或时间时,转换失败。

问题
-
具体情况会这样的,我想通过datapicker控件来确定开始时间和结束时间,定义个string变量存储, sqlcmm.CommandText = "select * from Orders where OrderDate between 'DateS' and 'DateE'";通过这条语句来筛选,但是提示从字符串转换日期和/或时间时,转换失败。
如果将DataS 和DateE 用2016/1/3 0:00:00这种格式或2016-1-3 0:00:00这种格式的字符来代替就能正常运行和筛选,我想问如何将Datepicker得到的时间装进一个变量,再通过select筛选语句筛选出来?怎么转换呢,查了几种办法都不行。
答案
-
你好 GodG,
根据你所描述的,DateS和DateE是两个string类型的变量, 而你的sqlcmm.CommandText = "select * from Orders where OrderDate between 'DateS' and 'DateE'";是C#代码。
如果你想把DateS和DateE变量作为变量在sql查询语句中使用,请把你的sql语句改成:
sqlcmm.CommandText = "select * from Orders where OrderDate between '" + DateS + "' and '" + DateE + "'";
Best Regards,
Weiwei- 已标记为答案 GodG 2016年1月22日 7:12
全部回复
-
你好 GodG,
根据你所描述的,DateS和DateE是两个string类型的变量, 而你的sqlcmm.CommandText = "select * from Orders where OrderDate between 'DateS' and 'DateE'";是C#代码。
如果你想把DateS和DateE变量作为变量在sql查询语句中使用,请把你的sql语句改成:
sqlcmm.CommandText = "select * from Orders where OrderDate between '" + DateS + "' and '" + DateE + "'";
Best Regards,
Weiwei- 已标记为答案 GodG 2016年1月22日 7:12