【问题标题】:jsp database queryingjsp数据库查询
【发布时间】:2014-06-04 10:33:11
【问题描述】:

我试图从 oracle 数据库中获取有关员工的信息。

在 JSP 中,数据库连接正常,我还确认我的数据库中有实体。

但是,当我尝试在网络上查看时,rs2.next() 为空。

  • 我关闭了 conn.close();在查询之前。

    String sql = "select *from member where id like '%" + id
        + "%' and pwd like '%" + pwd + "%'";
    stmt = conn.createStatement();
    rs = stmt.executeQuery(sql);
    
    (Shows members info)
    
    
    String sql2 = "SELECT * FROM commute";
    
    (Shows working statments)
    
    Connection conn2;
    Statement stmt2;
    ResultSet rs2;
    
    rs2 = stmt2.executeQuery(sql2);
    %>
    <br>
    <h2>1. Payment Info</h2>
    <table border="1" cellspacing="0">
        <tr>
            <td>ID</td>
            <td>Start to work</td>
            <td>End of work</td>
            <td>Date</td>
            <td>Working hour</td>
        </tr>
        <%
            while(rs2.next()){
        %>
        <tr>
            <td></td>
            <td><%=rs2.getString(1)%></td>
            <td><%=rs2.getString(2)%></td>
            <td><%=rs2.getString(3)%></td>
            <td><%=rs2.getString(4)%></td>
            <td><%="DEFAULT" %></td>
        </tr>
    
    ...
    

【问题讨论】:

  • stmt2 声明在哪里?
  • 会抛出异常吗?
  • 我编辑了源代码。谢谢
  • 这就是全部代码吗?您声明了stmt2,但在尝试执行stmt2.executeQuery(sql2) 之前从未分配任何东西给它。似乎缺少一些代码块。

标签: java sql oracle jsp


【解决方案1】:

我个人不喜欢scriptlet。在这种情况下,它违反了单一责任原则。我以前写过类似的东西,我更喜欢在后端做所有的数据库工作,让 JSP 做 JSP 的工作,比如显示数据。

我会在我的 DAO 中从数据库中获取数据,将其放入模型中(假设您有 MVC 架构),然后让 JSTL 遍历它并显示数据。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<table id="results">
  <c:forEach var="item" items="${resultSet}">
    <tr class="even">
      <td id="result"><c:out value="${item.x}" /></td>
      <td id="result"><c:out value="${item.y}" /></td>
      <td id="result"><c:out value="${item.z}" /></td>
    </tr>
  </c:forEach>
</table>

希望这是有道理的!

【讨论】:

    猜你喜欢
    • 2012-11-16
    • 2023-03-22
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 2018-11-03
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多