none
sql server数据库通过时间段来筛选数据,提示从字符串转换日期和/或时间时,转换失败。 RRS feed

  • 问题

  • 具体情况会这样的,我想通过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筛选语句筛选出来?怎么转换呢,查了几种办法都不行。


    2016年1月20日 1:41

答案

  • 你好 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
    2016年1月22日 6:32
    版主

全部回复

  • 你好 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
    2016年1月22日 6:32
    版主
  • 嗯,我去试试
    2016年1月22日 7:10
  • 完美解决了问题,谢谢!
    2016年1月22日 7:12