我用下面的两条sql语句分别得到了两个结果集rs1、rs2:
select tb_point.x as A_x,tb_point.y as A_y from tb_line left join tb_point on tb_point.v_id = tb_line.v1_id ;
select tb_point.x as B_x,tb_point.y as B_y from tb_line left join tb_point on tb_point.v_id = tb_line.v2_id ;
现在是要把他们存入一个ArrayList对象中,想要的结构为:
A_x A_y B_x B_y
作为一行数据
请高手赐教!
你的意思:
while(rsA.next())
{
....
}
while(rsB.next())
{
....
}
这样好像会先把A的结果集存完再存B的
而不是我想要的一条ArrayList记录=A的一条+B的一条
...
请问这样要怎么解决
那也简单,只要这样:
while(rsA.next()||rsB.next())
{
if(!rsA.isAfterLast()){//判断结果集A是否到头
list.add(rsA.getObject(0));//这里因为不知道你的具体数据类型,所以用Object,你自己可以改正你自己的数据类型
list.add(rsA.getObject(1));
}
if(!rsB.isAfterLast()){
list.add(rsB.getObject(0));//这里因为不知道你的具体数据类型,所以用Object,你自己可以改正你自己的数据类型
list.add(rsB.getObject(1));
}
}
我按你的意思改了但结果却是
标识 始点 末点 始点X 始点Y 末点X 末点Y
L1 SWD SBS1 com.microsoft.sqlserver.jdbc.SQLServerException: 结果集没有当前行。
找不到第二个结果集
我想了个办法,像这样的查询我还是先分开存然后在分别提取ArrayList元素再合并
不过还是谢谢了
嗯,可是A_x A_y在rs1中,B_x B_y在rs2中
在用rs1.next()遍历与rs2.next()遍历分开了
我觉得你还是用HQL好了
追问要用hibernate框架吗?那么你有什么好的HQL学习的资料吗。或者像我这样的问题用HQL应该怎么写
java如何实现判断两个结果集中是否有相等元素
public static String []columns = {"empno", "ename", "sal", "hiredate", "deptno"};\/\/结果集rs1和rs2, 判断rs1与rs2中是否有相同元素 public static boolean hasSame(ResultSet rs1, ResultSet rs2) throws SQLException{ List<Map<String, Object>> list1 = new ArrayList<Map<String...
用JSP实现一个简易的网页版聊天室。
1.登录页面 文件名:know.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+":\/\/"+request.getServerName()+":"+request.getServerPort()+path+"\/";%><!DOCTYPE HTML PUBLIC ...