?? jdbc-spec.frame17.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="600">
<tr>
<td><font size="-1"><a href="jdbc-spec.frame.html">目錄</a> | <a
href="jdbc-spec.frame16.html">上一頁</a> | <a href="jdbc-spec.frame18.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="20043"></a> </p>
<h2>附錄 C:實現說明</h2>
<h3>C.1 通過方法名執行 ResultSet 查詢</h3>
<p>以下是使用 ResultSetMetaData 實現 ResultSet.findColumn 和 ResultSet.getString
的一些樣本代碼。 </p>
<pre><code>private java.util.Hashtable s2c; // 將字符串映射到列索引
</code></pre>
<pre><code>private ResultSetMetaData md; // 元數據對象。
</code></pre>
<pre><code>
</code></pre>
<pre><code>public synchronized int findColumn(String columnName)
</code></pre>
<pre><code> throws SQLException {
</code></pre>
<pre><code> //如果尚無高速緩存,則映射一個。
</code></pre>
<pre><code> if (md == null) {
</code></pre>
<pre><code> md = getMetaData();
</code></pre>
<pre><code> s2c = new java.util.Hashtable();
</code></pre>
<pre><code> }
</code></pre>
<pre><code> // 在高速緩存中查找該映射。
</code></pre>
<pre><code> Integer x = (Integer)s2c.get(columnName);
</code></pre>
<pre><code> if (x != null) {
</code></pre>
<pre><code> return (x.intValue());
</code></pre>
<pre><code> }
</code></pre>
<pre><code> // 下面將使用元數據。
</code></pre>
<pre><code> for (int i = 1; i < md.getColumnCount(); i++) {
</code></pre>
<pre><code> if (md.getColumnName(i).equalsIgnoreCase(columnName)) {
</code></pre>
<pre><code> // 項已添加到高速緩存中。
</code></pre>
<pre><code> s2c.put(columnName, new Integer(i));
</code></pre>
<pre><code> return (i);
</code></pre>
<pre><code> }
</code></pre>
<pre><code> }
</code></pre>
<pre><code> throw new SQLException("Column name not found", "S0022");
</code></pre>
<pre><code>}
</code></pre>
<pre><code>
</code></pre>
<pre><code>// get-by-column-name 方法確實很簡單:
</code></pre>
<pre><code>
</code></pre>
<pre><code>public String getString(String columnName) throws SQLException {
</code></pre>
<pre><code> return (getString(findColumn(columnName)));
</code></pre>
<pre><code>}
</code></pre>
<p><a name="25211"></a> </p>
<h3>C.2 對象終止</h3>
<p>當 applet 與各種 JDBC 對象(如 Statement、ResultSet 和 Connection)一起執行時,建議調用這些對象上的“close”。但有些
applet 會忘記,而有些 applet 在關閉這些對象前可能被殺掉。 </p>
<p><a name="37462"></a>如果 JDBC 驅動程序中有與需要顯式清除的 JDBC
對象相關聯的狀態,則它們應負責提供“finalize”方法。當發現對象將成為垃圾時,垃圾收集器將調用這些終止方法,從而使驅動程序關閉(或清除)這些對象。但應注意,我們無法保證垃圾收集器的運行,因此您不能依賴通過調用終止程序來實現上述目的。
</p>
<p><br>
</p>
<hr>
<font size="-1"><a href="jdbc-spec.frame.html">
<p>目錄</a> | <a href="jdbc-spec.frame16.html">上一頁</a> | <a
href="jdbc-spec.frame18.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="../../../relnotes/SMICopyright.html"><font size="-1"><i>
<p>版權所有© 1996, 1997 Sun Microsystems, Inc. 保留所有權利。</i></font> </a><!-- HTML generated by Suzette Pelouch on April 10, 1998 -->
</p>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -