Java 如何在jdbc中使用嵌套结果集

Java 如何在jdbc中使用嵌套结果集,java,html,mysql,jsp,jdbc,Java,Html,Mysql,Jsp,Jdbc,我想以如下格式从数据库中检索类别及其关联的子类别,如图所示。。。。![儿童菜单,其中shop、help、mycompany、account、popular是类别,其中的标签是子类别][1] 我已经编写了以下代码 <li class="active grid"><a class="color3" href="#">KIDS</a> <div class="megapanel"> <div class="row"> <div clas

我想以如下格式从数据库中检索类别及其关联的子类别,如图所示。。。。![儿童菜单,其中shop、help、mycompany、account、popular是类别,其中的标签是子类别][1]

我已经编写了以下代码

<li class="active grid"><a class="color3" href="#">KIDS</a>
<div class="megapanel">
<div class="row">
<div class="col1">
<div class="h_nav">
<%
try 
{
String sql = "SELECT * FROM category WHERE Cat_Label='KIDS'";   
ResultSet rs = st.executeQuery(sql);
while (rs.next()) 
{
int catid;
String catname;
catid=rs.getInt(1);
  catname=rs.getString(3);
%>
<h4><%=catname%></h4>
<%
String sql1 = "SELECT * FROM subcategory WHERE Cat_Id='"+catid+"'"; 
ResultSet rs1 = st.executeQuery(sql1);
while (rs1.next()) 
{
String subcatnm;
subcatnm=rs1.getString(3);
%>
<ul>
<li><a href=""><%=subcatnm%></a></li>
</ul>                                       
<%}
rs1.close();
}
rs.close();
st.close();
con.close();
}
catch (SQLException e) 
{}
catch (Exception e) 
{}
%>
</div>                          
</div>
<div class="col1">
<div class="h_nav">
<img src="images/kids.jpg" alt=""/>
</div>
</div>
</div>
</div>
</li>   
  • 此代码仅检索第一个类别及其关联的子类别。。。 第一个结果集关闭..当控件转到第二个结果集时

    现在告诉我,要获得所有类别及其关联的子类别,我应该做些什么

    我可以用另一种方法,比如子查询或其他方法来实现这一点吗

    请告诉我答案
    谢谢。

    如果您先收集数据-地图>并呈现html,这将非常有帮助。将逻辑和显示混为一谈最终会让你感到困惑


    将rs.close()语句移到外部while循环之外

    我可以使用子查询来完成此操作吗?可以。但是现在您需要另一条逻辑来打印主类别。最好创建一个K=String(类别)的映射,V=String(子类别)的列表