在JAVA中对数据库操作很老练的高手速度来!

我现在用两个SQL语句得到两个结果集!要嵌套循环遍历每个数据,有相同的才输出,但是每次得到的结果都只有一个数据是相同的,但是明明是两个相同的数据.还想了解下rs.next... 我现在用两个SQL语句得到两个结果集!要嵌套循环遍历每个数据,有相同的才输出,但是每次得到的结果都只有一个数据是相同的,但是明明是两个相同的数据.还想了解下rs.next()的用法的限制?有点郁闷,开始写了循环体本以为解决问题.但是交给客户测试后,又出现问题,每次只有显示一个出来!
大家去我百度的空间看代码吧!说不好了!http://hi.baidu.com/soldierbandit
展开
 我来答
letian688
2008-05-08 · TA获得超过220个赞
知道小有建树答主
回答量:216
采纳率:0%
帮助的人:204万
展开全部
建议你先把两个结果集保存到某一种集合中,Hash表或List或vector随便什么。
之后比较两个集合中的数据。
给你写个List的
List list_1 = (List)RSList1【第一个RS集合】
List list_2 = (List)RSList2【第二个RS集合】
for(int i=0;i<list_1.size();i++){
for(int j=0;j<list_2.size();j++){
if(list_1.get(i).equals(list_2.get(j))){
System.out.pirntln("相等的值:"+list_1.get(i));
}
}
}
一旦你的数据太多这样的效率还是不高,呵呵。
你可以把每个list.get出来的值先赋值给一个String类型的变量 之后用这两个String变量做比较。结果一样。
上面是手写的,如果有问题 你稍微改一改。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
VIP_aaron
2008-05-14
知道答主
回答量:27
采纳率:0%
帮助的人:17.1万
展开全部
楼主发表的不清楚,造成其他回答人的误解,看了你写的,也很无奈吧!至少我是这样认为的.你写成得到Resolced后就break应该OK.如果不break的话,你就会发现会覆盖掉你的值.是不是?呵呵就你那样做吧!虽然流氓了点,不过仔细想想还是不错的想法,本来想到你可以把三句写成两句,但是一想还是不行,因为你在后面又是先执行查出条件的那句,rs.next()又是往下执行的语句,不可能停留的.所以你那样写没有什么问题,虽然执行效率低了那么一点点,但是实现为主嘛!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tudou869
2008-05-08 · TA获得超过513个赞
知道小有建树答主
回答量:527
采纳率:0%
帮助的人:360万
展开全部
/*对应的字段相同,a对象的stuts属性设置resoled.
假设这个比较的字段为name
*/
boolean hasSame = false;//一个标志,代表是否有相同的
while(rs1.next()&&rs2.next()){
String name1 = rs1.getString("name");
String name2 = rs2.getString("name");
if(name1.equals(name2)){
hasSame = true;
a.setStuts("resoled");//使用a对象的setter方法赋值
}
}
/*
如果没有相同的,针对rs1结果集中的一个字段判断,再将a 对象的stuts属性设置为open或cloes.然后将A对象存到arraylist中.
假设这个判断的字段为flag
*/
if(!hasSame){
ArrayList at = new ArrayList();
while(){
if(//条件1){
a.setStuts("open");
}
if(//条件1){2
a.setStuts("cloes");
}
at.add(a);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
月老头
2008-05-08 · TA获得超过192个赞
知道小有建树答主
回答量:305
采纳率:0%
帮助的人:221万
展开全部
在JAVA中对数据库操作很老练的高手速度来!

整的跟谁都欠你似的!!!!

楼主得从跟上解决问题,你说有2个结果集,相同的才输出。
这个问题可以通过sql语句的关联查询等方法解决,必须返回一个结果集,你现在的做法是复杂而没有意义的。

如果不会,可以把具体的表名,要求等贴出来!
回答者: laogao3232 - 举人 五级 5-8 17:09

这个就哦了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乌微月2S
2008-05-08 · TA获得超过5037个赞
知道大有可为答主
回答量:5361
采纳率:42%
帮助的人:2969万
展开全部
楼主得从跟上解决问题,你说有2个结果集,相同的才输出。
这个问题可以通过sql语句的关联查询等方法解决,必须返回一个结果集,你现在的做法是复杂而没有意义的。

如果不会,可以把具体的表名,要求等贴出来!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式