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

📄 resultset.doc.html

📁 JDBC入门中文文档
💻 HTML
📖 第 1 页 / 共 2 页
字号:
    <td> </td>
    <td> </td>
    <td> </td>
  </tr>
  <tr>
    <td>getDouble </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td><strong>X</strong> </td>
    <td><strong>X</strong> </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
  </tr>
  <tr>
    <td>getBigDecimal </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td><strong>X</strong> </td>
    <td><strong>X</strong> </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
  </tr>
  <tr>
    <td>getBoolean </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td><strong>X</strong> </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
  </tr>
  <tr>
    <td>getString </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td><strong>X</strong> </td>
    <td><strong>X</strong> </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
  </tr>
  <tr>
    <td>getBytes </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td><strong>X</strong> </td>
    <td><strong>X</strong> </td>
    <td>x </td>
    <td> </td>
    <td> </td>
    <td> </td>
  </tr>
  <tr>
    <td>getDate </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td><strong>X</strong> </td>
    <td> </td>
    <td>x </td>
  </tr>
  <tr>
    <td>getTime </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td><strong>X</strong> </td>
    <td>x </td>
  </tr>
  <tr>
    <td>getTimestamp </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td>x </td>
    <td> </td>
    <td><strong>X</strong> </td>
  </tr>
  <tr>
    <td>getAsciiStream </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td>x </td>
    <td>x </td>
    <td><strong>X</strong> </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td> </td>
    <td> </td>
    <td> </td>
  </tr>
  <tr>
    <td>getUnicodeStream </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td>x </td>
    <td>x </td>
    <td><strong>X</strong> </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td> </td>
    <td> </td>
    <td> </td>
  </tr>
  <tr>
    <td>getBinaryStream </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td>x </td>
    <td>x </td>
    <td><strong>X</strong> </td>
    <td> </td>
    <td> </td>
    <td> </td>
  </tr>
  <tr>
    <td>getObject </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
    <td>x </td>
  </tr>
</table>

<table>
  <tr>
    <td></td>
  </tr>
</table>

<p><a name="1003717"></a> </p>

<h3>5.1.4 对非常大的行值使用流</h3>
<code>

<p>ResultSet</code> 可以获取任意大的 <code>LONGVARBINARY</code> 或 <code>LONGVARCHAR</code> 
数据。方法 <code>getBytes</code> 和 <code>getString</code> 
将数据返回为大的块(最大为 <code>Statement.getMaxFieldSize</code> 
的返回值)。但是,以较小的固定块获取非常大的数据可能会更方便,而这可通过让 
<code>ResultSet</code> 类返回 <code>java.io.Input</code> 
流来完成。从该流中可分块读取数据。注意:必须立即访问这些流,因为在下一次对 
<code>ResultSet</code> 调用 <code>getXXX</code> 
时它们将自动关闭(这是由于基本实现对大块数据访问有限制)。 </p>

<p>JDBC API 具有三个获取流的方法,分别具有不同的返回值: 

<ul>
  <p><a name="1003521"></a></p>
  <li><code>getBinaryStream</code> 
    返回只提供数据库原字节而不进行任何转换的流。<br>
    <br>
    <a name="1003522"></a> </li>
  <li><code>getAsciiStream</code> 返回提供单字节 ASCII 字符的流。<br>
    <br>
    <a name="1003523"></a> </li>
  <li><code>getUnicodeStream</code> 返回提供双字节 Unicode 字符的流。<br>
    <br>
  </li>
</ul>

<p><a name="1003524"></a></p>

<p>注意:它不同于 Java 流,后者返回无类型字节并可(例如)通用于 
ASCII 和 Unicode 字符。</p>

<p><a name="1003525"></a>下列代码演示了 <code>getAsciiStream</code> 的用法: </p>

<pre><a name="1003526"></a>    java.sql.Statement stmt = con.createStatement();
<a
name="1003527"></a>    ResultSet r = stmt.executeQuery(&quot;SELECT x FROM Table2&quot;);
<a
name="1003528"></a>    // 现在以 4K 块大小获取列 1 结果:
<a name="1003529"></a>    byte buff = new byte[4096];
<a
name="1003530"></a>    while (r.next()) {
<a name="1003532"></a>      Java.io.InputStream fin = r.getAsciiStream(1);
<a
name="1003533"></a>      for (;;) {
<a name="1003535"></a>        int size = fin.read(buff);
<a
name="1003536"></a>        if (size == -1) { // 到达流末尾
<a name="1003537"></a>              break;
<a
name="1003538"></a>        }
<a name="1003539"></a>        // 将新填充的缓冲区发送到 ASCII 输出流:
<a
name="1003540"></a>        output.write(buff, 0, size);
<a name="1003541"></a>      }
<a
name="1003542"></a>    }
</pre>
<a name="1003543"></a>
<h3>5.1.5 NULL 结果值</h3>

<p>要确定给定结果值是否是 <code>JDBC</code> <code>NULL</code>,必须先读取该列,然后使用 
<code>ResultSet.wasNull</code> 方法检查该次读取是否返回 JDBC <code>NULL</code>。</p>

<p>当使用 <code>ResultSet.getXXX</code> 方法读取 JDBC<code> NULL</code> 
时,方法 <code>wasNull</code> 将返回下列值之一: 

<ul>
  <p><a name="1003546"></a></p>
  <li>Java <code>null</code> 值:对于返回 Java 对象的 <code>getXXX</code> 
    方法(例如 <code>getString</code>、<code>getBigDecimal</code>、<code>getBytes</code>、<code>getDate</code>、<code>getTime</code>、<code>getTimestamp</code>、<code>getAsciiStream</code>、<code>getUnicodeStream</code>、<code>getBinaryStream</code>、<code>getObject</code> 
    等)。<br>
    <br>
    <a name="1003547"></a> </li>
  <li>零值:对于 <code>getByte</code>、<code>getShort</code>、<code>getInt</code>、<code>getLong</code>、<code>getFloat</code> 
    和 <code>getDouble。</code><br>
    <br>
    <a name="1003548"></a> </li>
  <li><code>false</code> 值:对于 <code>getBoolean</code>。<br>
    <br>
  </li>
</ul>

<p><a name="1003549"></a></p>

<h3>5.1.6 可选结果集或多结果集</h3>

<p>通常使用 <code>executeQuery</code>(它返回单个 <code>ResultSet</code>)或 <code>executeUpdate</code>(它可用于任何数据库修改语句,并返回更新行数)可执行 
SQL 
语句。但有些情况下,应用程序在执行语句之前不知道该语句是否返回结果集。此外,有些已存储过程可能返回几个不同的结果集和/或更新计数。</p>

<p>为了适应这些情况,JDBC 
提供了一种机制,允许应用程序执行语句,然后处理由结果集和更新计数组成的任意集合。这种机制的原理是首先调用一个完全通用的 
<code>execute</code> 方法,然后调用另外三个方法,<code>getResultSet</code>、<code>getUpdateCount</code> 
和 <code>getMoreResults</code>。这些方法允许应用程序一次一个地研究语句结果,并确定给定结果是 
<code>ResultSet</code> 还是更新计数。</p>

<p><a name="1003552"></a>用户不必关闭 <code>ResultSet</code>;当产生它的 <code>Statement</code> 
关闭、重新执行或用于从多结果序列中获取下一个结果时,该 <code>ResultSet</code> 
将被 Statement 自动关闭。</p>

<p><a name="997732"></a> </p>

<p><br>
</p>

<hr>
<font size="-1"><a href="introTOC.doc.html">

<p>目录</a> | <a href="statement.doc.html">上一页</a> | <a
href="preparedstatement.doc.html">下一页</a> </font></p>

<hr>

<address>
  <a href="mailto:jdbc@wombat.eng.sun.com">jdbc@wombat.eng.sun.com</a> 或 <a
  href="mailto:jdbc-odbc@wombat.eng.sun.com">jdbc-odbc@wombat.eng.sun.com</a> 
</address>
<a href="copyright.doc.html"><font size="-1"><i>

<p>版权所有 &copy; 1996, 1997 Sun Microsystems, Inc. 保留所有权利</i></font>。</a><!-- HTML generated by dkramer on March 14, 1997 --> 
</p>
</body>
</html>

⌨️ 快捷键说明

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