日期:2014-05-17  浏览次数:20999 次

请问为什么我的while(rs.next())只显示最后一条记录?
<table width=80% align="center" >
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=database";  
String user="sa";
String password="admin";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql=
"SELECT pictu,descri FROM senery";
ResultSet rs = stmt.executeQuery(sql);

String pictu="";
String descri="";
while(rs.next()){
pictu= rs.getString(1);
descri= rs.getString(2);
}
%>
<tr>
<td>
图片
</td>
<td>
描述
</td>
</tr>
<td>
<%out.println(pictu+"");%>
</td>
<td>
<%out.println(descri+"");%>
</td>
<tr>

</tr>
</table>

表里有很多记录 但是只显示出来最后一条
请教大家了 谢谢!~~

------解决方案--------------------
while(rs.next()){
pictu= rs.getString(1);
descri= rs.getString(2);
}
你的循环体写错了 把最后一个大括号去掉 放到 </tr>后面去