亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jdbc-spec.frame14.html

?? JDBC入門中文文檔
?? 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.frame13.html">上一頁</a> | <a href="jdbc-spec.frame15.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="50686"></a> </p>

<h2>14 動態數據庫訪問</h2>

<p>我們期望大多數 JDBC 
程序員在編程前應具備目標數據庫機制的知識。這樣,在數據訪問方面他們就可以使用<a
href="jdbc-spec.frame7.html#20376">第 7 節</a>中闡述的強大 JDBC 
接口。然而,還有一種十分重要的數據庫訪問類。在數據庫訪問中,應用程序(或應用程序編寫員)可以動態地查找數據庫機制信息,同時用這些信息進行適當的動態數據庫訪問。本節說明 
JDBC 對動態訪問的支持。 </p>

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

<h3>14.1 元數據信息</h3>

<p>JDBC 
對多種元數據都提供訪問,說明行結果、語句參數及數據庫屬性等。最初,我們試圖通過核心 
JDBC 類的特殊方法(例如 java.sql.Connection 和 java.sql.ResultSet)來提供這些信息。但由于 
metadata 方法較為復雜且可能只被少部分 JDBC 
程序員使用,所以我們決定將 metadata 
方法一分為二,改成兩種不同的 Java 接口。 </p>

<p><a name="2565"></a>總的來說,對于每條元數據信息,我們都試著提供單獨的 
JDBC 方法(它們使用適當的參數并提供適當的 Java 
結果類型)。但當某個方法(例如 Connection.getProcedures())返回一組數值時,我們選擇用 
java.sql.ResultSet 來存儲這些結果。這樣,應用程序員就可以用常規的 
ResultSet 方法循環調用該結果。 </p>

<p><strong>我們曾考慮為檢索元數據結果的集合定義枚舉類型集,但這似乎給接口增加了額外負擔而無實用價值。JDBC 
程序員對使用 ResultSets 
已經很熟悉,因此在將它們用于元數據結果時應該不會有太多麻煩。</strong></p>

<p>許多 metadata 方法將字符串類型的查詢用作參數。這些查詢模式與 
ODBC 中的相同:在 ODBC 中,“ _”表示單個字母的匹配,“%”表示零個或多個字母的匹配。對于目錄和機制值,Java 
空字符串匹配“未命名”的值;而 Java 
零“字符串”則忽略該查詢標準。 </p>

<p>java.sql.ResultSetMetaData 類型為查找某一 java.sql.ResultSet 
對象列的類型和屬性提供了多種方法。 </p>

<p><a name="2573"></a>java.sql.DatabaseMetaData 
接口提供查詢與數據庫有關的各種元數據的方法。其中包括枚舉數據庫中的存儲過程、數據庫表、數據庫機制、有效表格類型和有效目錄,也包括查找表格中列的信息、對列的訪問權、對表格的訪問權及最小行標識等。 
</p>

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

<h3>14.2 動態類型數據訪問</h3>
<a href="jdbc-spec.frame8.html#20986">

<p>第 8 節</a>中討論了常見的 SQL 類型和 Java 類型之間的映射。例如,SQL 
INTEGER 通常映射為 Java int。這可以為將 SQL 值視為簡單 Java 
類型進行讀寫提供簡單的接口。 </p>

<p>此外,為支持通用數據訪問,我們也提供將數據當作通用 Java 
對象進行檢索的方法,如 ResultSet.getObject 方法、PreparedStatement.setObject 
方法和 CallableStatement.getObject 方法。注意:無論對于哪個 getObject 
方法,都需要在檢索值前將最終 java.lang.Object 
對象的范圍限定為指定的數據類型。 </p>

<p><a name="29199"></a>由于 Java 內置類型(如 boolean 和 int)不是對象的子類型,因此對于 
getObject/setObject 方法,從 SQL 類型到 Java 
對象類型映射的方式將稍有不同。該映射見表 <a
href="jdbc-spec.frame14.html#6941">4</a> 所示。 </p>

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

<table Border="3">
  <caption><a name="6941"></a> 表 4 : 從 SQL 類型到 Java 對象類型的映射。 </caption>
  <tr>
    <td> </td>
  </tr>
  <tr>
    <th>SQL 類型 </th>
    <th>Java 對象類型 </th>
  </tr>
  <tr>
    <td>CHAR </td>
    <td>String </td>
  </tr>
  <tr>
    <td>VARCHAR </td>
    <td>String </td>
  </tr>
  <tr>
    <td>LONGVARCHAR </td>
    <td>String </td>
  </tr>
  <tr>
    <td>NUMERIC </td>
    <td>java.math.BigDecimal </td>
  </tr>
  <tr>
    <td>DECIMAL </td>
    <td>java.math.BigDecimal </td>
  </tr>
  <tr>
    <td>BIT </td>
    <td>Boolean </td>
  </tr>
  <tr>
    <td>TINYINT </td>
    <td>Integer </td>
  </tr>
  <tr>
    <td>SMALLINT </td>
    <td>Integer </td>
  </tr>
  <tr>
    <td>INTEGER </td>
    <td>Integer </td>
  </tr>
  <tr>
    <td>BIGINT </td>
    <td>Long </td>
  </tr>
  <tr>
    <td>REAL </td>
    <td>Float </td>
  </tr>
  <tr>
    <td>FLOAT </td>
    <td>Double </td>
  </tr>
  <tr>
    <td>DOUBLE </td>
    <td>Double </td>
  </tr>
  <tr>
    <td>BINARY </td>
    <td>byte[] </td>
  </tr>
  <tr>
    <td>VARBINARY </td>
    <td>byte[] </td>
  </tr>
  <tr>
    <td>LONGVARBINARY </td>
    <td>byte[] </td>
  </tr>
  <tr>
    <td>DATE </td>
    <td>java.sql.Date </td>
  </tr>
  <tr>
    <td>TIME </td>
    <td>java.sql.Time </td>
  </tr>
  <tr>
    <td>TIMESTAMP </td>
    <td>java.sql.Timestamp </td>
  </tr>
</table>

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

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

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

<p><a name="30881"></a>相應的 Java 對象類型到 SQL 類型的缺省映射如表 <a
href="jdbc-spec.frame14.html#30877">5</a> 所示。 </p>

<table Border="3">
  <caption><a name="30877"></a> 表 5:SQL 類型到 Java 對象類型的映射。 </caption>
  <tr>
    <td>注意:字符串的映射一般是 VARCHAR,但如果所給值超過驅動程序限定的 
    VARCHAR 值時,VARCHAR 將變為 LONGVARCHAR。對于 byte[] 與 VARBINARY 和 
    LONGVARBINARY,情況相似。 </td>
  </tr>
  <tr>
    <th>Java 對象類型 </th>
    <th>SQL 類型 </th>
  </tr>
  <tr>
    <td>String </td>
    <td>VARCHAR 或 LONGVARCHAR </td>
  </tr>
  <tr>
    <td>java.math.BigDecimal </td>
    <td>NUMERIC </td>
  </tr>
  <tr>
    <td>Boolean </td>
    <td>BIT </td>
  </tr>
  <tr>
    <td>Integer </td>
    <td>INTEGER </td>
  </tr>
  <tr>
    <td>Long </td>
    <td>BIGINT </td>
  </tr>
  <tr>
    <td>Float </td>
    <td>REAL </td>
  </tr>
  <tr>
    <td>Double </td>
    <td>DOUBLE </td>
  </tr>
  <tr>
    <td>byte[] </td>
    <td>VARBINARY 或 LONGVARBINARY </td>
  </tr>
  <tr>
    <td>java.sql.Date </td>
    <td>DATE </td>
  </tr>
  <tr>
    <td>java.sql.Time </td>
    <td>TIME </td>
  </tr>
  <tr>
    <td>java.sql.Timestamp </td>
    <td>TIMESTAMP </td>
  </tr>
</table>

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

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

<p>注意:不能用 getObject 或 setObject 方法發送或接收 Java 
輸入流。用戶必須顯式地用 PreparedStatement.setXXXStream 或 ResultSet.getXXX 
Stream 傳輸作為流的值。 </p>

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

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

<h4>14.2.1 ResultSet.getObject</h4>

<p>利用表 <a href="jdbc-spec.frame14.html#6941">4</a> 所列的映射方式,<a
name="29208"></a>ResultSet.getObject 可以返回 Java 對象,其類型對應于 
ResultSet 列中的 SQL 類型。 </p>

<p><a name="29170"></a>因此,假定有一個 ResultSet,其“a”列有 SQL 類型 
CHAR,“b”列有 SQL 類型 SMALLINT,則下面是若干 getObject 
調用返回的類型: </p>

<pre><code>ResultSet rs = stmt.executeQuery(&quot;SELECT a, b FROM foo&quot;);
</code></pre>

<pre><code>while (rs.next()) {
</code></pre>

<pre><code>	Object x = rs.getObject(&quot;a&quot;);							 // 獲得一個 String
</code></pre>

<pre><code>	Object y = rs.getObject(&quot;b&quot;);							 // 獲得一個 Integer
</code></pre>

<pre><code>}
</code></pre>

<h4>14.2.2 PreparedStatement.setObject</h4>

<p>對于 PreparedStatement.setObject,用戶可以隨意指定目標 SQL 
類型。這種情況下,參數 Java Object 將首先被映射到其缺省的 SQL 
類型(如表 <a href="jdbc-spec.frame14.html#30877">5</a> 
所示),然后轉換為指定的 SQL 類型(參見表 <a
href="jdbc-spec.frame14.html#37019">6</a> ),最后被發送給數據庫。 </p>

<p>也可以省略目標 SQL 類型。這種情況下,所給的 Java 
對象將只映射到其缺省的 SQL 類型(使用表 <a
href="jdbc-spec.frame14.html#30877">5</a> ),然后被發送給數據庫。 </p>

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

<h4>14.2.3 CallableStatement.getObject</h4>

<p>調用 CallableStatement.getObject 前,必須先用 
CallableStatement.registerOutParameter 指定參數的 SQL 類型。調用 
CallableStatement.getObject 時,驅動程序將返回對應于 SQL 類型的 Java 
對象類型(按表 4 指定的映射)。 </p>

<p align="center"><a name="37019"></a><img src="table2.gif" width="523" height="462"> </p>

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

<p><br>
</p>

<hr>
<font size="-1"><a href="jdbc-spec.frame.html">

<p>目錄</a> | <a href="jdbc-spec.frame13.html">上一頁</a> | <a
href="jdbc-spec.frame15.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>版權所有&copy; 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 + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧洲中文字幕精品| 欧美一区二区私人影院日本| 国产精品无遮挡| 在线观看一区不卡| 免费观看30秒视频久久| 日韩欧美的一区| 91亚洲精品一区二区乱码| 一区二区三区在线免费观看| 色婷婷av一区二区三区软件| 欧美96一区二区免费视频| 久久er99精品| 一区二区三区在线观看国产 | 国产成人精品亚洲日本在线桃色| 中文字幕一区二区三区视频| 日本电影亚洲天堂一区| 久久激五月天综合精品| 亚洲女爱视频在线| 国产婷婷色一区二区三区四区| 欧美揉bbbbb揉bbbbb| 国产一区二区中文字幕| 天天影视涩香欲综合网| 亚洲欧美日韩一区二区| 日韩色在线观看| 在线成人av网站| 99riav一区二区三区| 国产成都精品91一区二区三| 亚洲综合成人在线| 日韩伦理免费电影| 国产精品久久久久影院| 日韩美女视频一区| 亚洲欧洲日产国产综合网| 国产精品女同一区二区三区| 国产精品丝袜久久久久久app| 国产喷白浆一区二区三区| 国产精品美女久久久久久久久| 欧美日韩国产在线观看| 91国偷自产一区二区三区成为亚洲经典| 九一九一国产精品| 成人avav影音| 欧美视频一区二区三区在线观看| 91性感美女视频| 欧美剧在线免费观看网站| 91麻豆精品久久久久蜜臀 | 欧美日韩国产电影| 欧美一区日本一区韩国一区| 久久一日本道色综合| 亚洲视频一区二区在线观看| 香蕉久久夜色精品国产使用方法| 精品综合免费视频观看| 91视频国产观看| 欧美电影精品一区二区| 亚洲综合色自拍一区| 狠狠色丁香久久婷婷综合_中 | 精品一区二区在线视频| 不卡的av在线播放| 欧美老肥妇做.爰bbww| 国产精品理论在线观看| 国产在线视频不卡二| 欧洲一区在线电影| 国产精品国产自产拍在线| 久久精品二区亚洲w码| 在线一区二区视频| 成人欧美一区二区三区小说| 成人在线视频首页| 亚洲精品在线观看视频| 捆绑紧缚一区二区三区视频| 欧美综合在线视频| 亚洲狠狠丁香婷婷综合久久久| 丰满少妇在线播放bd日韩电影| 欧美电视剧在线看免费| 天堂av在线一区| 欧美裸体一区二区三区| 日韩在线一区二区三区| 欧美一区二区三区影视| 日韩不卡一二三区| 欧美一卡二卡在线| 国产老妇另类xxxxx| 欧美激情一区二区三区全黄| 成年人网站91| 香蕉久久一区二区不卡无毒影院| 欧美日韩aaa| 伦理电影国产精品| 欧美国产禁国产网站cc| 一本到三区不卡视频| 日韩av一级片| 亚洲欧洲精品一区二区精品久久久| 91在线精品一区二区| 五月婷婷综合在线| 久久久久国产精品人| 色综合天天综合狠狠| 日本不卡一区二区三区| 久久精品男人的天堂| 欧美日韩精品一二三区| 成人一区二区三区中文字幕| 亚洲www啪成人一区二区麻豆| 精品福利在线导航| 欧美视频一区二区三区四区 | 丁香亚洲综合激情啪啪综合| 亚洲国产视频网站| 国产欧美一区二区精品忘忧草| 精品视频资源站| 91网站最新网址| 丁香六月综合激情| 国产一区91精品张津瑜| 视频一区二区三区入口| 一区二区三区四区不卡视频| 国产精品国产自产拍高清av王其| 久久亚洲精品国产精品紫薇| 欧美一区二区不卡视频| 欧美老女人在线| 在线播放日韩导航| 欧美不卡一区二区| 欧美变态tickle挠乳网站| 91精品国产乱码久久蜜臀| 欧美一区二区日韩| 精品不卡在线视频| 在线观看亚洲专区| 欧美人与禽zozo性伦| 91精品国产麻豆国产自产在线| 精品免费日韩av| 中文字幕欧美激情一区| 中文字幕在线观看一区| 亚洲激情成人在线| 日本特黄久久久高潮| 国产一区二区三区在线观看免费| 国产精品一线二线三线精华| 91在线云播放| 欧美一级免费大片| 中国色在线观看另类| 亚洲在线免费播放| 国产精品一级黄| 日韩精品影音先锋| 樱桃视频在线观看一区| 日本欧美加勒比视频| 粗大黑人巨茎大战欧美成人| 欧美日韩dvd在线观看| 中文字幕在线观看一区| 毛片av一区二区| 欧美色手机在线观看| 日本一区二区电影| 免费观看日韩av| 欧美美女直播网站| 亚洲国产综合色| 在线中文字幕不卡| 亚洲视频 欧洲视频| 国产一区不卡视频| 日韩欧美综合在线| 日韩高清不卡一区二区| 欧美日韩国产小视频| 一区二区免费在线| 91丝袜呻吟高潮美腿白嫩在线观看| 日韩久久免费av| 极品少妇xxxx精品少妇| 日韩三级中文字幕| 国产麻豆精品久久一二三| 精品免费日韩av| 国产精品一区二区视频| 欧美经典一区二区| 成人黄色在线网站| 亚洲精品午夜久久久| 欧美日韩视频在线观看一区二区三区 | 麻豆视频一区二区| 久久亚洲欧美国产精品乐播| 极品瑜伽女神91| 亚洲视频一区二区在线| 欧美午夜片在线看| 久久99国产精品尤物| 国产精品网站导航| 欧美一区二区啪啪| 不卡一区二区三区四区| 性感美女久久精品| 国产日产欧美一区| 欧美日韩精品三区| 国产激情一区二区三区桃花岛亚洲| 国产精品卡一卡二| 欧美一区午夜视频在线观看| av高清不卡在线| 精品一区二区在线播放| 亚洲欧美一区二区不卡| 精品黑人一区二区三区久久| 91网站视频在线观看| 激情六月婷婷综合| 日韩精品免费专区| 亚洲综合免费观看高清在线观看| 日韩欧美黄色影院| 欧美日韩国产综合一区二区三区 | 337p粉嫩大胆噜噜噜噜噜91av | 亚洲国产一二三| 中文字幕一区二区三区蜜月| 精品少妇一区二区三区在线播放 | 国产精品中文欧美| 国产精品99久| 国产精品一级在线| 成人性生交大片| 不卡的看片网站| 欧美自拍偷拍午夜视频| 日本精品一区二区三区四区的功能| 久草中文综合在线| 成人免费高清在线| 99国产精品久久久久|