关于联合查询的
下面的代码是用来从class表里读出classname的,运行无错
<% dim class2
class2=replace(request("class2"),"'","")
if class2="" or isnumeric(class2)=false then
class2=1
end if
%>
<select name="class1" id="class1" size="1">
<% dim rs_class,strsql
strsql="select * from class order by id asc"
set rs_class=conn.execute(strsql)
do while not rs_class.eof
%>
<option <%if int(rs_class("class1"))=int(class2) then%> selected<%end if%> value="<%=rs_class("class1")%>"><%=rs_class("classname")%></option>
<%
rs_class.movenext
loop
class1=rs_class("class1")
rs_class.close
set rs_class=nothing
%>
</select>
下面的则是要进行查询的代码,我要读出class表里与class1相对应的记录total,price的值,并计算两个字段的和,现在的代码就连class表里的<%=rs1("total")%>都不显示,不知道怎么搞的,高手帮下
<%
if class1="" then
response.Write("出错")
end if
rs1=execute("select * from class where class1="&class1)
if not rs1.eof then
%>
<%=rs1("total")%>
<%
else response.Write("空")
end if
rs1.close
set rs1=nothing
%>
问题点数:20、回复次数:3Top
1 楼yqh1314(‰兆雪伊人倍思逢☆)回复于 2004-12-03 16:42:41 得分 10
一步一步来 先看看是否已经得到了class1的值,在看SQL 语句是否有结果!漫漫来不要急 调试是个漫长的过程!Top
2 楼libaisongtuye(孤云浪)回复于 2004-12-03 17:16:05 得分 0
<% dim class2
class2=replace(request("class2"),"'","")
if class2="" or isnumeric(class2)=false then
class2=1
end if
%>
<select name="class1" id="class1" size="1">
<% dim rs_class,strsql
strsql="select * from class order by id asc"
set rs_class=conn.execute(strsql)
do while not rs_class.eof
%>
<option <%if int(rs_class("class1"))=int(class2) then%> selected<%end if%> value="<%=rs_class("class1")%>"><%=rs_class("classname")%></option>
<%
rs_class.movenext
loop %>
</select>
<%
rs1=conn.execute("select * from class where class1="&rs_class("class1"))
response.Write(rs1("total"))
%>
<%
rs1.close
set rs1=nothing
rs_class.close
set rs_class=nothing
%>
我把代码做了一部分改动,问题提示总算有了,虽然比没反应强,可搞不懂怎么回事
提示说
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'
/iisHelp/common/500-100.asp,行242 错误 '80020009'
发生意外。
/meirong/admin/user_add.asp,行38
发生意外是什么意思,38行的代码是
rs1=conn.execute("select * from class where class1="&rs_class("class1"))
刚刚改动的时候还提示过查询表达式rs_class("class1")丢失,是不是rs_class("class1")没有值传到联合查询的rs1的sql语句里?不懂,实在不懂,高手帮下,指条明路Top
3 楼love751314()回复于 2004-12-03 17:23:26 得分 10
那你在数据库中运行一下你的SQL 语句看有没有值!少一个END IF
还有你得到它的值不是一个是多个Top




