Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jsp数据库查询_Java_Sql_Oracle_Jsp - Fatal编程技术网

Java jsp数据库查询

Java jsp数据库查询,java,sql,oracle,jsp,Java,Sql,Oracle,Jsp,我试图从oracle数据库中获取有关员工的信息 在JSP中,数据库连接很好,我还确认数据库中有实体 但是,当我尝试在web上查看时,rs2.next()为空 我关闭了控制室;在查询之前 String sql = "select *from member where id like '%" + id + "%' and pwd like '%" + pwd + "%'"; stmt = conn.createStatement(); rs = stmt.executeQuery(sql)

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

在JSP中,数据库连接很好,我还确认数据库中有实体

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

  • 我关闭了控制室;在查询之前

    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>
    
    ...
    
    String sql=“从id类似“%”+id的成员中选择*
    +“%”和pwd类似“%”+pwd+“%”;
    stmt=conn.createStatement();
    rs=stmt.executeQuery(sql);
    (显示会员信息)
    String sql2=“从通勤中选择*”;
    (显示工作状态)
    连接conn2;
    报表stmt2;
    结果集rs2;
    rs2=stmt2.executeQuery(sql2);
    %>
    
    1.付款信息 身份证件 开始工作 工作结束 日期 工作时间 ...

就个人而言,我不喜欢Scriptlet。在这方面,它违反了单一责任原则。我以前写过类似的东西,我更喜欢在后端做所有数据库的事情,而让JSP来做JSP的事情,比如显示数据。

我将从DAO中的数据库中获取数据,将其放入模型中(假设您有一个MVC架构),然后让我们对其进行迭代并显示数据。


希望这有意义!

在哪里声明了
stmt2
?它是否引发任何异常?我编辑了源代码。谢谢这是所有的密码吗?您正在声明
stmt2
,但在尝试执行
stmt2.executeQuery(sql2)
之前,从不向其分配任何内容。似乎缺少一些代码块。
<%@ 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>