首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何比较结果集两个对象

问如何比较结果集两个对象
EN

Stack Overflow用户
提问于 2013-11-27 07:49:33
回答 2查看 586关注 0票数 0

Plase帮助,如何根据结果集对象比较选中复选框?我在分局有两张桌子。一个是主题,它包含

代码语言:javascript
复制
  category         | sub_category
    --------------+-------------
Arts and Humanities|   Arts and Humanities (General)
Arts and Humanities|   History
Arts and Humanities|   Language and Linguistics
Arts and Humanities|   Media Technology

另一个是topic_alerts,它包含

代码语言:javascript
复制
     username              |   topic  
     ----------------------------------------
hareesh.nare@gmail.com |  History
    hareesh.nare@gmail.com |  Language and Linguistics
   hareesh.nare@gmail.com  |Media Technology

在我的jsp页面中,显示基于选定的sub_category的分类

在那之后

代码语言:javascript
复制
 <% 
         String topic="";
             Connection con=Singleton.getMySqlConnection();
              Statement st=con.createStatement();
            Statement st1=con.createStatement();
            String userid=(String)session.getAttribute("userid");
          ResultSet rs1=st.executeQuery("select sub_category from subjects where category='"+category+"'");     
          ResultSet rs2=st1.executeQuery("select topic from topic_alerts where username='"+userid+"' order by topic ");
        %>

现在,我想选中一个基于topic_alerts表的复选框,主题值等于subjects表的值。

代码语言:javascript
复制
<%while(rs1.next()){%>

<%if(rs2.next()){%>
<%
topic=rs2.getString(1);
System.out.println("topic="+topic);
System.out.println("alert="+rs1.getString(1));

%>
<%}%>
      <tr class="tablePlainWhite" style='vertical-align:top'>
<td><input type="checkbox" value="<%=rs1.getString(1)%>" <%if((rs1.getString(1).equals(topic))){%> CHECKED name="top"<%}else{%> name="topic" <%}%>></td>
<td><%=rs1.getString(1)%></td>
<td nowrap align="center"><a href="">Latest Results</a>&nbsp;&nbsp;<a href="">Archive/Details</a></td>
<td align="center">Weekly</td></tr>
 <%}%>  

这里只选中最后一个复选框媒体技术之前,历史,和语言和语言学没有被选中。

如何修复这些..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-28 06:56:55

但我用的就像

代码语言:javascript
复制
<%if(rs2.next()){%>
<%
topic=rs2.getString(1);
%>
<%}%>   

      <tr class="tablePlainWhite" style='vertical-align:top'>
<td><input type="checkbox" value="<%=rs1.getString(1)%>" <%if((rs1.getString(1).equals(topic))){%> CHECKED name="top" <%}else{%> name="topic" <%rs2.previous();%> <%}%>></td>
<td><%=rs1.getString(1)%></td>
</tr>
 <%}%>
票数 0
EN

Stack Overflow用户

发布于 2013-11-27 09:14:28

尝试比较两个resultSet的逻辑:

代码语言:javascript
复制
while(rs1.next()){
// Compare till rs1 reach to the last record
  while(rs2.next()){
     if(){
       // Coding
     }
  }
//will move resultSet cursor to first position.
rs2.first();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20236672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档