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> 展开
<% //检索此 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> 展开
3个回答
展开全部
不建议使用这样使用循环去取数据,一般使用对象或者集合取数据,而且i应该是从1开始,而不是从0开始
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个问题可以先看看ResultSet 返回的记录有多少行,也许压根就没搜索到数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询