问题描述
从数据库中查询人员信息,得到ResultSet结果集,<%//检索此ResultSet对象的列的编号、类型和属性ResultSetMetaDatarsmd=rs.getMetaData();//得到当前行ResultSet对象的列数intcolCount=rsmd.getColumnCount();%><h3>colCount=<%=colCount%></h3><!--在这里还能输出列数的值-->
但后面却不能循环输出结果,表格中无内容,请朋友给看下是哪里的问题?<%@pagecontentType="text/html"pageEncoding="GBK"%><%@pageimport="java.sql.*"%><html><body><%request.setCharacterEncoding("GBK");%><%//因为setAttribute()接收值时是Object型,所以这里要强转Stringname=(String)session.getAttribute("uname");%><center><h1>登录成功!</h1><h2>欢迎<fontcolor="blue"><%=name%></font>的光临!</h2><h3>人员管理</h3><%!publicstaticfinalStringDRIVER="com.mysql.jdbc.Driver";publicstaticfinalStringURL="jdbc:mysql://localhost:3306/mldn";%><%Connectionconn=null;PreparedStatementpstmt=null;ResultSetrs=null;%><%try{Class.forName(DRIVER);conn=DriverManager.getConnection(URL,"root","java");Stringsql="SELECT*FROMuser2";pstmt=conn.prepareStatement(sql);rs=pstmt.executeQuery();%><%//检索此ResultSet对象的列的编号、类型和属性ResultSetMetaDatarsmd=rs.getMetaData();//得到当前行ResultSet对象的列数intcolCount=rsmd.getColumnCount();%><h3>colCount=<%=colCount%></h3><!--在这里能输出列数的值--><tableborder="1"><%while(rs.next()){%><tr><%for(inti=0;i<colCount-1;i++){Stringrs_1=rs.getString(i);%><td><%=rs_1%></td><%}%></tr><%}}catch(Exceptione){e.printStackTrace();}finally{rs.close();pstmt.close();conn.close();}%></table></center><h3><ahref="ZhuXiao.jsp">注销登录</a></body></html>
解决方案
解决方案二:
<!--在这里还能输出列数的值-->这个列值跟结果没什么关系啊!应该是结果集中本来就没有记录吧??
解决方案三:
Stringrs_1=rs.getString(i);这行代码有错!!!resultSet.getXXX(inti)传入的参数的下标从1开始不是从0开始,所以你遍历不出任何东西,谢谢!!