使用rs.next()从ResultSet获取特定数据

时间:2019-05-10 20:04:55

标签: jsp servlets resultset

我正在尝试获取<td>数据,该数据单击该按钮并将其提取到servlet。我试图添加一个隐藏的输入,该存储用于存储ResultSet中的数据,但是我只能获取数据的第一行。

如果还有其他更好的方法,请告诉我,谢谢。

<form action="Order_view" method="post">


    <%
        try {
         //Connection Code

    %>
       <table border=1 align=center style="text-align: center">
        <tbody>
            <tr>
                <th>Package ID</th>
                <th>Type</th>
            </tr>

            <%while (rs.next()) {
            %>

            <tr>

                <td><%out.print(rs.getString(1));%></td>
                <td><%out.print(rs.getString(2));%></td>  

                <td><button name="btnView">View</button></td>
                <input type="hidden" name="id" value="<%=rs.getString(1)%>" />
            </tr>

        <% } %>
        </tbody>
    </table>
    <br>
    <%} catch (SQLException e) {
        out.print(e.getMessage());%><br><%
        }
    %>
</form>

1 个答案:

答案 0 :(得分:1)

您不需要<form>来做到这一点,是的,您将仅获得第一行,可以克服以下问题:

 <%
        try {
         //Connection Code

    %>
       <table border=1 align=center style="text-align: center">
        <tbody>
            <tr>
                <th>Package ID</th>
                <th>Type</th>
                <th>Action</th>
            </tr>

            <%while (rs.next()) {
            %>

            <tr>
                <td><%out.print(rs.getString(1));%></td>
                <td><%out.print(rs.getString(2));%></td>
        <!--here we are passing "id" of that particular row in <a href>--> 
                <td><a href="Yourservleturl?id=<%=resultset.getString(1) %> "><input type="button" value="View"></a></td>
               </tr>
        <% } %>
        </tbody>
    </table>
    <br>
    <%} catch (SQLException e) {
        out.print(e.getMessage());%><br><%
        }
    %>

然后在您的servlet中使用request.getParameter("id");方法中的doGet进行进一步处理,以获取该ID。