⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 558903.xml

📁 论坛精华帖子
💻 XML
📖 第 1 页 / 共 2 页
字号:
<?xml version='1.0' encoding='GB2312'?>
<?xml-stylesheet type='text/xsl' href='../csdn.xsl'?>
<Topic>
<Issue>
<PostUserNickName>飞翔</PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>105</credit>
<TopicId>558903</TopicId>
<TopicName>关于ResultSet的问题</TopicName>
<PostUserId>177448</PostUserId>
<PostUserName>yuanfy</PostUserName>
<RoomName>JSP</RoomName>
<ReplyNum>27</ReplyNum>
<PostDateTime>2002-3-6 16:46:42</PostDateTime>
<Point>60</Point>
<ReadNum>0</ReadNum>
<RoomId>28</RoomId>
<EndState>2</EndState>
<Content>刚才的贴子打不开,重新发一遍
请各位有经验的高手指点:
ResultSet&#32;rs1=statement.execute("select&#32;语句1");
while&#32;(rs1.next()){
&#32;&#32;ResultSet&#32;rs2=statement.execute("select&#32;语句2");
&#32;&#32;while&#32;(rs2.next()){
&#32;&#32;&#32;&#32;...
&#32;&#32;}
&#32;&#32;...
}
其中,select&#32;语句2中用到了rs1中的变量
因为系统不允许定义同名的ResultSet,我想问:想实现以上功能怎么办</Content>
</Issue>
<Replys>
<Reply>
<PostUserNickName>色子</PostUserNickName>
<rank>五级(中级)</rank>
<ranknum>user5</ranknum>
<credit>115</credit>
<ReplyID>3728506</ReplyID>
<TopicID>558903</TopicID>
<PostUserId>62789</PostUserId>
<PostUserName>zhjx_10</PostUserName>
<Point>10</Point>
<Content>建立另一个Statement对象&#32;statement2
ResultSet&#32;rs2&#32;=&#32;statement.execute("select&#32;语句2");
</Content>
<PostDateTime>2002-3-6 17:00:11</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>飞翔</PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>105</credit>
<ReplyID>3729044</ReplyID>
<TopicID>558903</TopicID>
<PostUserId>177448</PostUserId>
<PostUserName>yuanfy</PostUserName>
<Point>0</Point>
<Content>我是说rs2,在循环内部需要建立多个。不是statement。</Content>
<PostDateTime>2002-3-6 17:31:04</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>光</PostUserNickName>
<rank>四级(中级)</rank>
<ranknum>user4</ranknum>
<credit>100</credit>
<ReplyID>3729198</ReplyID>
<TopicID>558903</TopicID>
<PostUserId>33951</PostUserId>
<PostUserName>Hikaru</PostUserName>
<Point>20</Point>
<Content>把rs2放到while上面定义就行了,赋值还是在原来的地方。</Content>
<PostDateTime>2002-3-6 17:38:19</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>光</PostUserNickName>
<rank>四级(中级)</rank>
<ranknum>user4</ranknum>
<credit>100</credit>
<ReplyID>3729227</ReplyID>
<TopicID>558903</TopicID>
<PostUserId>33951</PostUserId>
<PostUserName>Hikaru</PostUserName>
<Point>0</Point>
<Content>比如
ResultSet&#32;&#32;rs1=statement.execute("select&#32;&#32;语句1");&#32;
ResultSet&#32;&#32;rs2&#32;=&#32;null;//或则用构造函数
while&#32;&#32;(rs1.next()){&#32;
&#32;&#32;&#32;&#32;rs2=statement.execute("select&#32;&#32;语句2");&#32;
&#32;&#32;&#32;&#32;while&#32;&#32;(rs2.next()){&#32;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;...&#32;
&#32;&#32;&#32;&#32;}&#32;
&#32;&#32;&#32;&#32;...&#32;
}&#32;
</Content>
<PostDateTime>2002-3-6 17:39:41</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>Junior&#32;Coder</PostUserNickName>
<rank>四级(中级)</rank>
<ranknum>user4</ranknum>
<credit>100</credit>
<ReplyID>3729545</ReplyID>
<TopicID>558903</TopicID>
<PostUserId>190636</PostUserId>
<PostUserName>David017</PostUserName>
<Point>0</Point>
<Content>当你用一个statement去执行另外一个查询时
用这个statement前面获得的resultset结果就会被自动关闭
&#32;zhjx_10(色子)&#32;说得对,不过他写错了
是:ResultSet&#32;&#32;rs2&#32;&#32;=&#32;&#32;statement2.execute("select&#32;&#32;语句2");&#32;

statement1=&#32;conn.create...
statement2=&#32;conn.create...
ResultSet&#32;&#32;rs1=statement1.execute("select&#32;&#32;语句1");&#32;
while&#32;&#32;(rs1.next()){&#32;
&#32;&#32;&#32;&#32;ResultSet&#32;&#32;rs2=statement2.execute("select&#32;&#32;语句2");&#32;
&#32;&#32;&#32;&#32;while&#32;&#32;(rs2.next()){&#32;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;...&#32;
&#32;&#32;&#32;&#32;}&#32;
&#32;&#32;&#32;&#32;...&#32;
}&#32;
</Content>
<PostDateTime>2002-3-6 18:01:33</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>笨笨</PostUserNickName>
<rank>两星(中级)</rank>
<ranknum>star2</ranknum>
<credit>120</credit>
<ReplyID>3729774</ReplyID>
<TopicID>558903</TopicID>
<PostUserId>115764</PostUserId>
<PostUserName>yanchang</PostUserName>
<Point>10</Point>
<Content>如果你是用ODBC连接的,恐怕连Connection都要两个,否则包错
但用JDBC连接的Oracle就可以
只要生命两个Statement就可以</Content>
<PostDateTime>2002-3-6 18:19:04</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>光</PostUserNickName>
<rank>四级(中级)</rank>
<ranknum>user4</ranknum>
<credit>100</credit>
<ReplyID>3731693</ReplyID>
<TopicID>558903</TopicID>
<PostUserId>33951</PostUserId>
<PostUserName>Hikaru</PostUserName>
<Point>0</Point>
<Content>实际上,提问的重点在于重复命名问题……各位~</Content>
<PostDateTime>2002-3-6 21:25:11</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>飞翔</PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>105</credit>
<ReplyID>3733334</ReplyID>
<TopicID>558903</TopicID>
<PostUserId>177448</PostUserId>
<PostUserName>yuanfy</PostUserName>
<Point>0</Point>
<Content>谢谢各位,如下所改,是否正确:
statement1=conn.create...&#32;
statement2=conn.create...&#32;
ResultSet&#32;rs1=statement1.execute("select&#32;语句1");&#32;&#32;
ResultSet&#32;rs2=null;//或则用构造函数&#32;
while&#32;(rs1.next()){&#32;&#32;
&#32;&#32;rs2=statement2.execute("select&#32;语句2");&#32;&#32;
&#32;&#32;while&#32;(rs2.next()){&#32;&#32;
&#32;&#32;&#32;&#32;...
&#32;&#32;}&#32;&#32;
&#32;&#32;...&#32;
}
rs2.close();
rs1.close();
conn.close();</Content>
<PostDateTime>2002-3-7 8:08:17</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>光</PostUserNickName>
<rank>四级(中级)</rank>
<ranknum>user4</ranknum>
<credit>100</credit>
<ReplyID>3734374</ReplyID>
<TopicID>558903</TopicID>
<PostUserId>33951</PostUserId>
<PostUserName>Hikaru</PostUserName>
<Point>0</Point>
<Content>应该可以了。
编译了么?</Content>
<PostDateTime>2002-3-7 9:28:36</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>光</PostUserNickName>
<rank>四级(中级)</rank>
<ranknum>user4</ranknum>
<credit>100</credit>
<ReplyID>3734394</ReplyID>
<TopicID>558903</TopicID>
<PostUserId>33951</PostUserId>
<PostUserName>Hikaru</PostUserName>
<Point>0</Point>
<Content>哦,statement最好也要close</Content>
<PostDateTime>2002-3-7 9:29:26</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>飞翔</PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>105</credit>
<ReplyID>3735450</ReplyID>
<TopicID>558903</TopicID>
<PostUserId>177448</PostUserId>
<PostUserName>yuanfy</PostUserName>
<Point>0</Point>
<Content>请问什么时机关闭rs2才对?
在while(rs1.next())中可以吗?
</Content>
<PostDateTime>2002-3-7 10:29:17</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>飞翔</PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>105</credit>
<ReplyID>3735508</ReplyID>
<TopicID>558903</TopicID>
<PostUserId>177448</PostUserId>
<PostUserName>yuanfy</PostUserName>
<Point>0</Point>
<Content>能帮我写一下代码吗?包含各个对象关闭的时机!
用tomcat打开网页,提示错误:&#32;
[Microsoft][ODBC&#32;&#32;SQL&#32;&#32;Server&#32;&#32;Driver]连接占线导致另一个&#32;&#32;hstmt&#32;
请问是不是对象有冲突的原因?</Content>
<PostDateTime>2002-3-7 10:32:31</PostDateTime>
</Reply>
<Reply>
<PostUserNickName></PostUserNickName>
<rank>三级(初级)</rank>
<ranknum>user3</ranknum>
<credit>100</credit>
<ReplyID>3736752</ReplyID>
<TopicID>558903</TopicID>
<PostUserId>142296</PostUserId>
<PostUserName>Kin_CIOM</PostUserName>
<Point>20</Point>
<Content>while&#32;&#32;(rs1.next()){&#32;&#32;&#32;&#32;
&#32;&#32;&#32;&#32;rs2=statement2.execute("select&#32;&#32;语句2");&#32;&#32;&#32;&#32;
&#32;&#32;&#32;&#32;while&#32;&#32;(rs2.next()){&#32;&#32;&#32;&#32;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;...&#32;
&#32;&#32;&#32;&#32;}&#32;&#32;&#32;&#32;
&#32;&#32;&#32;&#32;...&#32;&#32;
&#32;&#32;&#32;&#32;rs2.close();&#32;
}&#32;
rs1.close();&#32;
statement2.close();
statement1.close();
conn.close();</Content>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -