asp中怎么根据下拉菜单中的值查找数据库符合该内容的数据,下面的代码出现response.Write "没有数据!"

<selectname="select"><optionselectedvalue="设备类">设备类</option><optionvalue="清洁用品">清洁用品<... <select name="select" >
<option selected value="设备类">设备类</option>
<option value="清洁用品">清洁用品</option>
</select>
<%
nowselect=request.Form("select")
set rs=server.CreateObject("adodb.recordset")
sql="select id_smallclass from allproduit where id_bigclass='"&nowselect&"'"
rs.Open sql,conn,0,1,1
if rs.BOF or rs.eof then
response.Write "没有数据!"
else
call OutTopSel
call OutJSArray
end if
rs.Close
set rs=nothing
conn.Close
set conn=nothing
sub OutTopSel
%>
<select name="smallclass" onChange="getSecond(this.value)" id='first'>
<option value="">请选择小类</option>
<%
do while not rs.EOF
response.Write "<option value='"&rs("id_smallclass")&"'>"&rs("id_smallclass")&"</option>"
call outJSSecondArray(rs("id_smallclass"))
rs.movenext
loop
%>
</select>
<%
end sub
%>
<%
function outJSSecondArray(secondID)
set secondRS=server.CreateObject("adodb.recordset")
sql="select distinct * from allproduit where id_smallclass='"&secondID&"'"
secondRS.Open sql,cn,0,1,1
if secondRS.EOF then
secondjs=secondjs&"Arr['"&secondID&"']=new Array(new Option('暂时无数据',''));"&vbnewline
else
secondJS=secondjs&"Arr['"&secondID&"']=new Array("&vbnewline&"new Option('请选择出库物品','')"&vbnewline
do while not secondRS.EOF
secondjs=secondjs&",new Option('"&secondRS("title")&"','"&secondRS("title")&"')" &vbnewline
call outJSThreeArray(secondRS("title"))
secondRS.MoveNext
loop
secondjs=secondjs&");"&vbnewline
end if
secondRS.Close
end function

function outJSThreeArray(threeID)
set threeRS=server.CreateObject("adodb.recordset")
sql="select * from allproduit where title='"&threeID&"'"
threeRS.Open sql,cn,0,1,1
if threeRS.EOF then
threeJS=threeJS&"Arr['"&threeID&"']=new Array(new Option('暂时无数据',''));"&vbnewline
else
threeJS=threeJS&"Arr['"&threeID&"']=new Array("&vbnewline&"new Option('请选择物品型号','')"&vbnewline
do while not threeRS.EOF
threeJS=threeJS&",new Option('"&threeRS("huohao")&"','"&threeRS("huohao")&"')"&vbnewline
threeRS.MoveNext
loop
threeJS=threeJS&");"&vbnewline
end if
threeRS.Close
end function
%>
<script type="text/javascript">
function getSecond(value)
{
var sec=document.getElementById('second');
sec.options.length=0;
if(value!="")
{
for(var i=0;i<Arr[value].length;i++)
{
sec.options.add(Arr[value][i]);
}
}
else
sec.options.add(new Option('请选择小类'));
}
function getThree(value)
{
var three=document.getElementById('three');
three.options.length=0;
if(value!="")
{
for(var i=0;i<Arr[value].length;i++)
{
three.options.add(Arr[value][i]);
}
}
else
three.options.add(new Option('请选择出库物品'));
}
</script>
<%
sub OutJSArray
response.Write "<script type=""text/javascript"">"&vbnewline
response.Write "var Arr=[];"&vbnewline
response.Write secondjs&vbnewline
response.Write threeJS&vbnewline
response.Write "</script>"
end sub
%>
展开
 我来答
小萝卜频道
2012-01-10 · 超过49用户采纳过TA的回答
知道答主
回答量:123
采纳率:0%
帮助的人:87万
展开全部
代码太长了,就不看了。
但你要的原理可以简单说下:查找记录结果,就要给出查找结果的条件。
而这个条件,在你这里就是一个下拉菜单中的值。
在下拉菜单中,指往往是option的value值,那么通过request.form()方法是可以获取这个值的,然后把这个值作为查询条件,查询数据库对应的表,肯定是可以得到结果的。
当然,代码的编写是非常讲究的,你可能少一个引号等等,都有可能导致出错。
如果没有出错,是空记录,那么你就好看看,是否获取到了这个下啦菜单的值。
你可以在获取页面使用response.write方法输出这个值,如果为空,说明没有获取到
追问
sql="select id_smallclass from allproduit where id_bigclass='"&nowselect&"'"
上面的可以运行无错误,但是到了call outJSSecondArray(rs("id_smallclass"))
这句是为:sql="select distinct * from allproduit where id_smallclass='"&secondID&"'"
赋值的,出现的错误是:
错误类型:
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
/produit/produit_sell.asp, 第 119 行,说是未找到secondID的值。
濮冰枫60
2012-01-10 · TA获得超过235个赞
知道小有建树答主
回答量:470
采纳率:0%
帮助的人:311万
展开全部
nowselect=request.Form("select")
set rs=server.CreateObject("adodb.recordset")
sql="select id_smallclass from allproduit where id_bigclass='"&nowselect&"'"

<select name="select" > 加上id=“select”
还有sql语句 我怎么记得好像是用%号啊,
就是sql="select id_smallclass from allproduit where id_bigclass='"%nowselect%"'"
更多追问追答
追问
sql="select id_smallclass from allproduit where id_bigclass='"&nowselect&"'"
上面的可以运行无错误,但是到了call outJSSecondArray(rs("id_smallclass"))
这句是为:sql="select distinct * from allproduit where id_smallclass='"&secondID&"'"
赋值的,出现的错误是:
错误类型:
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
/produit/produit_sell.asp, 第 119 行,说是未找到secondID的值。
追答
sql="select distinct * from allproduit where id_smallclass="+secondID
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式