散分了!奇怪得不能再奇怪的问题,为何这时的recordcount=0???
遇到了个奇怪问题,是想将时间搜索从天精确到小时,原来的模块没问题,但改成小时后就出现了:
1)参数赋值,并传递参数,其中FileRepDate是varchar(20)
<%
dim selNowDate
selNowDate = Cstr(request( "NowDay "))
......
dim Form_sql
Form_sql = " where FileRepDate like '% "&selNowDate& "% ' "
Call GetItemCount(Form_sql)
......
%>
......
2)函数体
<%
sub GetItemCount(Form_sql)
dim rs,sql
set rs=server.createobject( "adodb.recordset ")
sql = "select * from tablename " & Form_sql
rs.open sql,conn,1,3
response.write sql
response.write rs.recordcount
......
end sub
%>
以上是仅匹配日期的语句,能够成功显示记录数.以下是精确到某时间段,第(1)部分修改为以下代码,其中时间输入容错均处理并正常,语句在SQL中也测试没有问题
<%
dim selFmTime, selToTime
selFmTime= Cstr(request( "FmTime "))
selToTime= Cstr(request( "ToTime "))
......
dim Form_sql
Form_sql = " where FileRepDate between ' "&selFmTime& " ' and ' "&selToTime& " ' "
Call GetItemCount(Form_sql)
......
%>
但这时第(2)部分中返回的recordcount总是0,应该是有记录数的.
我将返回的sql内容直接放到SQL PLUS中运行没有问题,或者将sql直接赋值,也没有问题,有记录数返回,但就是传进参数Form_sql后,不返回记录.
关键是原来的操作中传参数都没问题,为何仅是改了个写法就不行了(关键这写法在函数体里面就没问题),请高人们给点建议!!!急的冒汗!!!
------解决方案--------------------select * from tablename where FileRepDate between ' "&selFmTime& " 'and ' "&selToTime& " ' "
你把值写入放进sql里面执行看看出什么错
filerepdate是什么类型?
------解决方案--------------------数据类型问题。