java - 单语句抛出异常

标签 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条件的情况下使用它,该值将被打印,但是当我用if条件来做这件事,它抛出了下面的异常。

java.sql.SQLException: No data found 

请告诉我如何解决这个问题。

谢谢

最佳答案

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

更新答案

<%
    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>
<%
    }
%>

关于java - 单语句抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22940879/

相关文章:

java - 在继续 Android 之前等待 GPS 位置

excel - 用户表单文本框必填字段 - 仅接受数字模式

java - 是否有用于 LDAP 的良好 Java 开源 OpenID 提供程序?

java - 在 Spring 中绑定(bind)到 Set

excel - 使用VBA将工作表名称复制到行

html - 如何使用 Bootstrap 将一组元素分为三列?

java - 更新 Titan 图数据库中的顶点属性的问题

java - 加快查找连接到 Wifi 网络的设备并获取设备名称

java - HBase 更新现有行

excel - 如何在文本文件中搜索多个匹配字符串并将总和值放入 Excel 单元格