高手请进!这样的问题如何解决?
<% @ language="vbscript" %>
<% response.buffer=false %>
<!--#include file="adovbs.inc" -->
<!--#include file="connectsqldb.asp" -->
<% Dim Rs,sqlStr,Todaydate,DeptName
DeptName="我是中国人"
Set rs=server.createobject("adodb.recordset")
Todaydate=year(date())&"-"&month(date())&"-"&day(date())
%>
<%
function JudgeRdInOut(Byval TbName)
dim sqlstr,rss
Set rss=server.createobject("adodb.recordset")
response.write lenB(deptname)
response.write "<br>"
sqlstr="select Subdept_name from "& TbName &" where Subdept_name='"&DeptName&"' and chart_date='"&Todaydate&"'"
set rss=cnn.execute(sqlstr,,adcmdtext)
response.write lenB(sqlstr)
response.write "<br>"
response.write sqlstr
response.write rss.fields("subdept_name").value
response.end
if Not rss.eof then
rss.close
set rss=nothing
JudgeRdInOut=1
else
rss.close
set rss=nothing
JudgeRdInOut=0
end if
end function
%>
测试结果:分别占用字节数为:10和182,"response.write sqlstr"能正确显示查询字符串;并且能正确显示查询结果。
但是当代码改为:
<% @ language="vbscript" %>
<% response.buffer=false %>
<!--#include file="adovbs.inc" -->
<!--#include file="connectsqldb.asp" -->
<% Dim Rs,sqlStr,Todaydate,DeptName
DeptName=Trim(request.form("HdDeptName"))
Set rs=server.createobject("adodb.recordset")
Todaydate=year(date())&"-"&month(date())&"-"&day(date())
%>
<%
function JudgeRdInOut(Byval TbName)
dim sqlstr,rss
Set rss=server.createobject("adodb.recordset")
response.write lenB(deptname)
response.write "<br>"
sqlstr="select Subdept_name from "& TbName &" where Subdept_name='"&DeptName&"' and chart_date='"&Todaydate&"'"
set rss=cnn.execute(sqlstr,,adcmdtext)
response.write lenB(sqlstr)
response.write "<br>"
response.write sqlstr
response.write rss.fields("subdept_name").value
response.end
if Not rss.eof then
rss.close
set rss=nothing
JudgeRdInOut=1
else
rss.close
set rss=nothing
JudgeRdInOut=0
end if
end function
%>
测试结果:分别占用字节数为:80和252,"response.write sqlstr"能正确显示查询字符串;但无法找到查询结果,也就是查询不成功!很显然MSSQL对252字节的变体变量无法正确解析。
任何才能避免这样的问题,正确得到结果呢??