?? jdbc2.0.frame11.html
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=gb2312">
<title></title>
</head>
<body bgcolor="#ffffff">
<table width="100%">
<tr>
<td><font size="-1"><a href="jdbc2.0.frame.html">目錄</a> | <a
href="jdbc2.0.frame10.html">上一頁</a> | <a href="jdbc2.0.frame12.html">下一頁</a> </font></td>
<td align="right"><i>JDBC<sup><font size="-2">TM</font></sup> 指南:入門</i></td>
</tr>
</table>
<hr>
<p><br>
<a name="301716"></a> </p>
<h2>11 說明</h2>
<p>我們已經收到了數個請求,要求闡明 JDBC API
的某些方面。本章包含了部分 JDBC 特性的附加解釋。</p>
<p><a name="284754"></a> </p>
<h3>11.1 Connection.isClosed()</h3>
<code>
<p>Connection.isClosed()</code> 方法只保證在調用 <code>Connection.closed() </code>之后才返回真。通常不能調用
<code>Connection.isClosed() </code>方法來確定數據庫連接是有效還是無效。典型的
JDBC 客戶機通過捕捉嘗試 JDBC
操作時所拋出的異常來確定連接是否有效。</p>
<p><a name="301145"></a> </p>
<h3>11.2 Statement.setCursorName()</h3>
<code>
<p>Statement.setCursorName() </code>方法為應用程序提供了一種為與某語句所生成的下一個結果集相關聯的光標指定光標名稱的途徑。通過調用
<code>ResultSet.getCursorName()</code>
可以檢索到結果集的光標名稱。如果在創建結果集之前調用 <code>Statement.setCursorName()</code>,則
<code>ResultSet.getCursorName() </code>應該總是返回在 <code>Statement.setCursorName()
</code>中指定的值。</p>
<p><a name="288333"></a>我們注意到:創建結果集之前調用 <code>Statement.setCursorName()</code>
并不意味著結果集是可更新的。換句話說,即使調用 <code>Statement.setCursorName()</code>,也不一定允許定位更新或刪除。根據
JDBC 中的缺省設置,結果集是只讀的。</p>
<p><a name="288335"></a>在 JDBC 中,光標名稱唯一用途是嵌入到如下形式的
SQL 語句中: </p>
<p><a name="288308"></a> </p>
<blockquote>
<pre>UPDATE ... WHERE CURRENT OF <cursor>
</pre>
</blockquote>
<p><a name="288290"></a></p>
<p><a name="288309"></a>光標名稱提供了一個進行定位更新或刪除的途徑。要在結果集上啟用定位更新和刪除,請使用以下形式的選擇查詢
</p>
<p><a name="288312"></a> </p>
<blockquote>
<pre><code>SELECT FOR UPDATE </code>... FROM ... WHERE ...
</pre>
</blockquote>
<p><a name="288314"></a></p>
<p>來創建結果集。如果沒有調用 <code>Statement.setCursorName()</code>
來指定光標名稱,則 JDBC 驅動程序或基本 DBMS 必須在執行 <code>SELECT
FOR UPDATE</code> 語句時生成光標名稱(如果支持定位更新/刪除)。如果結果集是只讀的,且沒有調用
<code>Statement.setCursorName()</code> 來指定光標名稱,則
ResultSet.getCursorName() 應該返回 <code>null</code>。</p>
<p><a name="301684"></a> </p>
<h3>11.3 字符轉換</h3>
<p>用戶都期望 JDBC 驅動程序實現能夠在字符串/字符的 Java unicode
編碼和所訪問的數據庫的字符編碼之間進行自動轉換。JDBC
沒有定義如何覆蓋數據庫的字符編碼。例如,JDBC 沒有定義如何在
ASCII 數據庫中存儲 unicode 字符。</p>
<p><a name="302191"></a> </p>
<h3>11.4 流作為輸入參數</h3>
<p>當應用程序經由 setXXX() 或 updateXXX()
方法將流作為輸入值進行傳遞時,應用程序有責任將流保持在可讀狀態,直到調用以下方法之一:PreparedStatement.execute()、executeQuery()、executeUpdate()
或 executeBatch(),以及 ResultSet.insertRow() 或 updateRow()。JDBC
驅動程序不必等到調用這些方法就能讀取流值。 </p>
<p><a name="302202"></a> </p>
<h3>11.5 非由 Statement 創建的結果集</h3>
<p>元數據操作所創建的 <code>ResultSet</code> 對象只需是只轉發類型的。<code>DatabaseMetaData</code>
操作所生成的結果集并不需要具有可滾動性。</p>
<p><br>
</p>
<hr>
<font size="-1"><a href="jdbc2.0.frame.html">
<p>目錄</a> | <a href="jdbc2.0.frame10.html">上一頁</a> | <a
href="jdbc2.0.frame12.html">下一頁</a> </font></p>
<hr>
<address>
<a href="mailto:jdbc@eng.sun.com">jdbc@eng.sun.com</a> 或 <a
href="mailto:jdbc-business@eng.sun.com">jdbc-business@eng.sun.com</a>
</address>
<a href="../../../relnotes/SMICopyright.html"><font size="-1"><i>
<p>版權所有 © 1996, 1997 Sun Microsystems, Inc. 保留所有權利</i></font>。</a><!-- HTML generated by Suzette Pelouch on June 09, 1998 -->
</p>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -