jsp中怎样循环读取sql server数据库中的数据? 50
我用jsp做服务器端,html做客户端。通过xmlhttprequest向服务器端发送请求,将数据库中的数据显示在客户端。现在的问题是,服务器端只能读取最后一条记录,所以...
我用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服务器端部分代码如下:(连接数据库的代码省略)
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()); 展开
5个回答
展开全部
while rs.next()的过程中就把游标移动到了rs的最后,你最后一个println出来的当然就是最后一条记录
新建一个list,while循环中往list里加入每一条记录的对象最后返回这个list不就行了
新建一个list,while循环中往list里加入每一条记录的对象最后返回这个list不就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有代码 就只能猜了
如果用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
会被循环初始化 导致只能取出一个数据
}
如果用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
会被循环初始化 导致只能取出一个数据
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你肯定是把new List放到了while循环里面。你的代码是:
while(true)
{List all=new Arraylist();//没循环一次all引用的内存地址就就换一个
all.addd().....
}
正确是
List all=new Arraylist();
while(true)
{
all.addd().....
}
while(true)
{List all=new Arraylist();//没循环一次all引用的内存地址就就换一个
all.addd().....
}
正确是
List all=new Arraylist();
while(true)
{
all.addd().....
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
rs 为取到的结果集
while(rs.next()){
rs.getString(1);//第一个字段
rs.getString(2);//第一个字段
....
}
while(rs.next()){
rs.getString(1);//第一个字段
rs.getString(2);//第一个字段
....
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
贴代码帮你看,猜可能是循环赋值把容器每次都初始化了,看看是不是有new在你的while循环里
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询