数据库中chubantime的格式是:2010-4-6,是日期类型,而schubanshijian1和schubanshijian2是通过日历控件输入的,格式是:2010-04-06,于是我用了如下代码,检索符合日期范围的数据,但是,无论输入什么日期,得出来的结果都是全部的数据。手动输入与chubantime一样的格式也不行,条件约束无效。请教一下,如何解决,谢谢!schubanshijian1=trim(request.form("schubanshijian1"))
schubanshijian2=trim(request.form("schubanshijian2"))
if schubanshijian1<>"" and schubanshijian2<>"" then
sqlstr=sqlstr&" and chubantime between '"&schubanshijian1&"' and '"&schubanshijian2&"'"
end ifif schubanshijian1<>"" and schubanshijian2="" then
sqlstr=sqlstr&" and chubantime >= '"&schubanshijian1&"'"
end ifif schubanshijian1="" and schubanshijian2<>"" then
sqlstr=sqlstr&" and chubantime <= '"&schubanshijian2&"'"
end if
schubanshijian2=trim(request.form("schubanshijian2"))
if schubanshijian1<>"" and schubanshijian2<>"" then
sqlstr=sqlstr&" and chubantime between '"&schubanshijian1&"' and '"&schubanshijian2&"'"
end ifif schubanshijian1<>"" and schubanshijian2="" then
sqlstr=sqlstr&" and chubantime >= '"&schubanshijian1&"'"
end ifif schubanshijian1="" and schubanshijian2<>"" then
sqlstr=sqlstr&" and chubantime <= '"&schubanshijian2&"'"
end if
"中sqlstr最后得到的字符串看看是怎么样的语句,再到数据库的查询分析器里面去执行看是不是你要的结果。
sqlstr变量最后要执行的那个位置打个断点。
CONVERT(VARCHAR(10),chubantime,120)
CONVERT(VARCHAR(10),schubanshijian1,120)
CONVERT(VARCHAR(10),schubanshijian2,120)
1.schubanshijian1=format("yyyy-M-D",trim(request.form("schubanshijian1")))
schubanshijian2=format("yyyy-M-D",trim(request.form("schubanshijian2")))
2.
sqlstr=sqlstr&" and CONVERT(VARCHAR(10),chubantime,120)
between CONVERT(VARCHAR(10),'"&schubanshijian1 &"' ,120)
and CONVERT(VARCHAR(10),‘"& schubanshijian2 &"' ,120)"...