如果是sqlserver 查询的话 应该不要转成 dateTime 直接把字符窜放进去就可以查。
search += " and (order29 BETWEEN '" + Convert.ToDateTime(Request.QueryString["t1"] ) + "' AND '" + Convert.ToDateTime(Request.QueryString["tt1"] ) + "')";
如果过这样 Convert.ToDateTime(Request.QueryString["tt1"] ) 还报错 “该字符串未被识别为有效的 DateTime” 那么是就是传过来的值 不是规范的时间格式。
你是不能直接引用“t1”和“tt1”的,Convert.ToDateTime("t1") 是对字符串“t1”进行转换,这个t1并不是你传过来的Request.QueryString["t1"] 。
if (Request.QueryString["t1"] != null && Request.QueryString["tt1"] != null)
{
string str1 = Request.QueryString["t1"].ToString();
string str2 = Request.QueryString["tt1"].ToString();
search += " and (order29 BETWEEN '" + Convert.ToDateTime(str1) + "' AND '" + Convert.ToDateTime(str2) + "')";
}
建议写法:
DateTime t1;
DateTime t2;
if(DateTime.TryParse(Request.QueryString["t1"], out t1) && DateTime.TryParse(Request.QueryString["t11"], out t2))
{
search += " and (order29 BETWEEN '" + t1 + "' AND '" + t2+ "')";
}
流量
楼上正解