JSP问题,数据库查询到的ResultSet中的内容为什么不能循环输出?

从数据库中查询人员信息,得到ResultSet结果集,<%//检索此ResultSet对象的列的编号、类型和属性ResultSetMetaDatarsmd=rs.getM... 从数据库中查询人员信息,得到ResultSet结果集,

<% //检索此 ResultSet 对象的列的编号、类型和属性
ResultSetMetaData rsmd=rs.getMetaData();
//得到当前行ResultSet对象的列数
int colCount =rsmd.getColumnCount();
%>
<h3>colCount=<%=colCount%></h3> <!--在这里还能输出列数的值-->

但后面却不能循环输出结果,表格中无内容,请朋友给看下是哪里的问题?

<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%request.setCharacterEncoding("GBK"); %>
<% //因为setAttribute()接收值时是Object型,所以这里要强转
String name=(String)session.getAttribute("uname");
%>
<center>
<h1>登录成功!</h1>
<h2>欢迎<font color="blue"><%=name%></font>的光临!</h2>
<h3>人员管理</h3>
<%!
public static final String DRIVER="com.mysql.jdbc.Driver";
public static final String URL="jdbc:mysql://localhost:3306/mldn";
%>
<%
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
%>
<%
try{
Class.forName(DRIVER);
conn=DriverManager.getConnection(URL,"root","java");
String sql="SELECT * FROM user2";
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
%>
<% //检索此 ResultSet 对象的列的编号、类型和属性
ResultSetMetaData rsmd=rs.getMetaData();
//得到当前行ResultSet对象的列数
int colCount =rsmd.getColumnCount();
%>
<h3>colCount=<%=colCount%></h3> <!--在这里能输出列数的值-->
<table border="1">
<%
while(rs.next()){
%>
<tr>
<%
for(int i=0;i<colCount-1;i++){
String rs_1=rs.getString(i);
%>
<td><%=rs_1%></td>
<%
}
%>
</tr>
<%
}
}catch(Exception e){
e.printStackTrace();
}finally{
rs.close();
pstmt.close();
conn.close();
}
%>
</table>
</center>
<h3><a href="ZhuXiao.jsp">注销登录</a>
</body>
</html>
展开
 我来答
蓝果大刀
推荐于2016-04-29 · TA获得超过259个赞
知道小有建树答主
回答量:183
采纳率:0%
帮助的人:240万
展开全部
int colCount =rsmd.getColumnCount();

可能原因:获取记录集行数时移动ResultSet到最后一行,导致下次取时记录集为空。

试试:在while(rs.next())之前加上:

rs.beforeFirst();
阿亮年华
2014-12-16 · 超过16用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:25.2万
展开全部
不建议使用这样使用循环去取数据,一般使用对象或者集合取数据,而且i应该是从1开始,而不是从0开始
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
飞花岁月2007
2014-12-16 · TA获得超过377个赞
知道小有建树答主
回答量:505
采纳率:78%
帮助的人:336万
展开全部
这个问题可以先看看ResultSet 返回的记录有多少行,也许压根就没搜索到数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式