﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-Keep_Coding</title><link>http://www.blogjava.net/lixumin/</link><description>Coding World,Keep Moving!</description><language>zh-cn</language><lastBuildDate>Thu, 07 May 2026 01:57:21 GMT</lastBuildDate><pubDate>Thu, 07 May 2026 01:57:21 GMT</pubDate><ttl>60</ttl><item><title>关于while (rs.next()) 与 if(rs.next())的区别</title><link>http://www.blogjava.net/lixumin/archive/2010/10/11/334378.html</link><dc:creator>Elvin Lee</dc:creator><author>Elvin Lee</author><pubDate>Mon, 11 Oct 2010 08:36:00 GMT</pubDate><guid>http://www.blogjava.net/lixumin/archive/2010/10/11/334378.html</guid><wfw:comment>http://www.blogjava.net/lixumin/comments/334378.html</wfw:comment><comments>http://www.blogjava.net/lixumin/archive/2010/10/11/334378.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lixumin/comments/commentRss/334378.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lixumin/services/trackbacks/334378.html</trackback:ping><description><![CDATA[如果说是"判断结果集里有没有值" 那么用if(rs.next) <br />
<br />
while是用来做循环输出的 换句话说 就是"如果结果集里还有值" 没有则停止循环 这个一般在JSP做显示用
<p style="color: #ffff00"><font color="#993300"><span style="color: #0000ff"><font color="#993300"><span style="color: #0000ff"><font style="color: #0000ff" color="#993300"><font color="#993300">1</font><font color="#008080">、<span style="color: #0000ff">rs = stmt.exeQuery(sql)后，rs肯定不会为null，注意，是rs对象不会为null，而不是其包含的result</span><br />
<span style="color: #0000ff">2、既然rs不会为null，所以在rs = stmt.exeQuery(sql)后，使用while(rs.next())或者if(rs.next())时就不用判断rs != null；<br />
3、rs.next时，游标最先是指向第一条记录前的位置，所以第一次rs.next后，游标指向的正好是第一条记录（如果有的话）<br />
</span><span style="color: #0000ff">4、要判断rs的结果是否为空，只要使用一次rs.next方法就行了，如果它返回为false，则证明rs的结果为null<br />
</span>所以最终的代码可以写为：<br />
&nbsp;&nbsp;&nbsp; public void run() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DbTestConn conn = new DbTestConn();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String sql = "select * from mo_info where mo_state = '1'";<br />
</font></font></span></font><font color="#008080">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ResultSet rs = conn.exeQuery(sql);<br />
</font></span></font><font color="#008080">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //while (!isNull) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (rs.next()) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tr.setId(rs.getInt(1));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tr.setUser(rs.getString(2));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tr.setPwd(rs.getString(3));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //isNull = false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (SQLException e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //isNull = true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //}<br />
&nbsp;&nbsp;&nbsp; }</font></p>
说的简单的话就是<br />
while(rs.next()) //就是 将rs全部进行读取<br />
if(rs.next()) //rs进行读取一次 判断是否有数据
<img src ="http://www.blogjava.net/lixumin/aggbug/334378.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lixumin/" target="_blank">Elvin Lee</a> 2010-10-11 16:36 <a href="http://www.blogjava.net/lixumin/archive/2010/10/11/334378.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>