我使用下面的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
请让我知道如何解决这个问题。
由于
答案 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>
<%
}
%>