jsp中怎样循环读取sql server数据库中的数据?

来源:百度知道 编辑:UC知道 时间:2024/06/24 09:46:10
我用jsp做服务器端,html做客户端。通过xmlhttprequest向服务器端发送请求,将数据库中的数据显示在客户端。
现在的问题是,服务器端只能读取最后一条记录,所以显示在客户端的也只有一条记录。怎样将数据库中的记录全部显示出来?
谢谢了先!!!
我的JSP服务器端部分代码如下:(连接数据库的代码省略)
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery( "select * from Test" );
while(rs.next()){
id=rs.getString("id");
name=rs.getString("name");
}
StringBuffer result = new StringBuffer("{");
result.append("'id':'" + id + "'" );
result.append(",'name':'" + name+ "'");
result.append("}");

out.println(result.toString());

没有代码 就只能猜了
如果用jsp<%%> 来写
while(rs.next()){
rs.getString(1);//第1个字段
rs.getString(2);//第2个字段
..
}
while(rs.next()){
rs.getString("字段名");
..
}
如果分层了
List a=new ArrayList();
User b=null;
for()或while()
{
循环里
b=dao.getList(); //b要在里面初始化
a.add(b) //不可以再里边new这个a
会被循环初始化 导致只能取出一个数据
}

rs 为取到的结果集

while(rs.next()){
rs.getString(1);//第一个字段
rs.getString(2);//第一个字段
....

}

贴代码帮你看,猜可能是循环赋值把容器每次都初始化了,看看是不是有new在你的while循环里

你肯定是把new List放到了while循环里面。你的代码是:
while(true)
{List all=new Arraylist();//没循环一次all引用的内存地址就就换一个
all.addd().....
}
正确是
List all=new Arraylist();
while(true)
{
all.addd().....
}

while rs.next()的过程中就把游标移动到了rs的最后,你最后一个println出来的当然就是最后一条记录
新建一个list,while循环中往list里加入每一条记录的对象最后返回这个list不就行了