单个语句抛出异常

时间:2014-04-08 15:02:26

标签: java excel jsp

我使用下面的JSP将数据插入Excel。

<%-- 
    Document   : GetRec
    Created on : Apr 7, 2014, 7:44:25 PM
    Author     : u0138039
--%>

<%@page import="java.sql.ResultSetMetaData"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@include  file="DBCon.jsp" %>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <%           try {

                String x = request.getParameter("sid");
                String query = "Select * from [Feb$] where [Shipment ID]=?";
                ps = con.prepareStatement(query);
                ps.setString(1, x);
                rs = ps.executeQuery();
                ResultSetMetaData meta = rs.getMetaData();
                final int columnCount = meta.getColumnCount();

                while (rs.next()) {%>
        <table border="1px">
            <tr>
                <%
                    for (int i = 1; i < 21; i++) {%>
                <td> 
                    <b>
                        <%=meta.getColumnName(i)%> 
                    </b>
                </td>

                <% }

                %>
            </tr>
            <tr>

                <td> 
                    <%=rs.getString(1)%> 
                </td>
                <td>
                    <%=rs.getString(2)%> 
                </td>
                <td>
                    <%=rs.getString(3)%> 
                </td>
                <td>
                    <%=rs.getString(4)%> 
                </td>
                <td>
                    <%=rs.getString(5)%> 
                </td>

                    <%
                        if (rs.getString(6) == null) {
                    %>
                   <td>  <select name="Type" id="Type">
                        <option value="" disabled selected>Select your option</option>
                        <option value="Looseleaf - Update">Looseleaf - Update</option>
                        <option value="Pamphlet">Pamphlet</option>
                    </select>
                     </td>
                     <%
                        } else {
                            %>
                              <td>
                    <%=rs.getString(6)%> 
                </td>
                     <%
                        }
                    %>

                <%
                        }
                    } catch (Exception e) {
                        out.print(e);
                    }%>
            </tr>
        </table> </body>
</html>

这里我有rs.getString(6)的值,如果我在不使用if condition的情况下使用它,则会打印出值,但是当我使用if condition时,它是把我扔到下面的例外。

java.sql.SQLException: No data found 

请让我知道如何解决这个问题。

由于

1 个答案:

答案 0 :(得分:1)

您从结果集中多次检索相同的数据。您需要检索一次数据并将其分配给变量,然后多次使用该变量。

更新回答

<%
    String str = rs.getString(6);
    if (str == null) {
 %>
               <td>  <select name="Type" id="Type">
                    <option value="" disabled selected>Select your option</option>
                    <option value="Looseleaf - Update">Looseleaf - Update</option>
                    <option value="Pamphlet">Pamphlet</option>
                </select>
                 </td>
<%
    } else {
%>
               <td>
<%=str%> 
               </td>
<%
    }
%>