IResultSet 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
一個代表資料庫結果集的資料表,通常透過執行查詢資料庫的陳述式產生。
[Android.Runtime.Register("java/sql/ResultSet", "", "Java.Sql.IResultSetInvoker")]
public interface IResultSet : IDisposable, Java.Interop.IJavaPeerable, Java.Sql.IWrapper
[<Android.Runtime.Register("java/sql/ResultSet", "", "Java.Sql.IResultSetInvoker")>]
type IResultSet = interface
interface IWrapper
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 衍生
- 屬性
- 實作
備註
一個代表資料庫結果集的資料表,通常透過執行查詢資料庫的陳述式產生。
物件 ResultSet 會維持一個指向其當前資料列的游標。 最初游標會放在第一列之前。 此方法將next游標移至下一列,且當物件中沒有更多列ResultSet時會回傳false,因此可在迴圈中遍while歷結果集。
預設 ResultSet 物件不可更新,游標只會向前移動。 因此,你只能從第一列遍歷到最後一列。 可以產生 ResultSet 可捲動和/或可更新的物件。 以下程式碼片段(其中 con 為有效 Connection 物件)說明如何製作一個可滾動且不受他人更新影響,且可更新的結果集。 其他選項請參見 ResultSet 欄位。
Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");
// rs will be scrollable, will not show changes made by others,
// and will be updatable
介面 ResultSet 提供 獲取 方法(getBoolean、 getLong、 等)以從當前列取得欄位值。 值可透過欄位的索引號或欄位名稱來取得。 一般來說,使用欄位索引會更有效率。 欄位編號從1開始。 為了最大化可攜性,每列內的結果集欄位應從左至右讀取,且每欄僅讀取一次。
對於 getter 方法,JDBC 驅動程式嘗試將底層資料轉換為 getter 方法中指定的 Java 類型,並回傳適當的 Java 值。 JDBC 規範中有一個表格,顯示從 SQL 型別到 Java 型別的允許映射,這些映射可由 ResultSet getter 方法使用。
用於輸入檢索方法的欄位名稱不區分大小寫。 當呼叫一個帶有欄位名稱的 getter 方法,且多個欄位名稱相同時,會回傳第一個匹配欄位的值。 欄位名稱選項設計用於產生結果集的 SQL 查詢中使用欄位名稱。 對於查詢中未明確命名的欄位,最好使用欄位編號。 若使用欄位名稱,程式設計師應確保欄位名稱唯一指向預期欄位,這可透過 SQL AS 子句來確保。
在 JDBC 2.0 API 中,新增了一組更新器方法(Javasup<>< 字型大小=-2>TM/<font></sup> 2 SDK,標準版,版本 1.2)。 關於 getter 方法參數的註解同樣適用於更新器方法的參數。
更新器方法有兩種使用方式: <ol><LI>用於更新當前列中的欄位值。 在可 ResultSet 捲動物件中,游標可以前後移動,移動到絕對位置,或相對於當前列的位置。 以下程式碼片段NAME更新物件rs第五列ResultSet的欄位,然後使用該方法updateRow更新所衍生rs的資料來源資料表。
rs.absolute(5); // moves the cursor to the fifth row of rs
rs.updateString("NAME", "AINSWORTH"); // updates the
// <code>NAME</code> column of row 5 to be <code>AINSWORTH</code>
rs.updateRow(); // updates the row in the data source
<LI>用來將欄位值插入插入列。 可 ResultSet 更新物件會對應一個特殊的列,作為建立要插入的列的暫存區域。 接下來的程式碼片段會將游標移至插入列,建立三欄列,並使用方法insertRow插入rs資料來源資料表。
rs.moveToInsertRow(); // moves cursor to the insert row
rs.updateString(1, "AINSWORTH"); // updates the
// first column of the insert row to be <code>AINSWORTH</code>
rs.updateInt(2,35); // updates the second column to be <code>35</code>
rs.updateBoolean(3, true); // updates the third column to <code>true</code>
rs.insertRow();
rs.moveToCurrentRow();
</ol>
ResultSet當Statement產生該物件的物件被關閉、重新執行,或用來從多個結果序列中取得下一個結果時,該物件即自動關閉。
物件欄位的ResultSet數量、類型與屬性由該方法回傳ResultSet.getMetaData的物件提供ResultSetMetaData。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
欄位
| 名稱 | Description |
|---|---|
| CloseCursorsAtCommit |
這個常數表示,當目前交易提交時,具有此可hold性的開啟 |
| ConcurReadOnly |
常數表示一個物件的並行模式 |
| ConcurUpdatable |
常數表示可更新物件的並行模式 |
| FetchForward |
常數表示結果集中的列將朝向正向處理;從頭到尾。 |
| FetchReverse |
表示結果集中列將被反向處理的常數;從最後到第一。 |
| FetchUnknown |
表示結果集中列將以何種順序處理的常數是未知的。 |
| HoldCursorsOverCommit |
這個常數表示,具有此可持有性的開啟 |
| TypeForwardOnly |
該常數表示游標只能向前移動的物件類型 |
| TypeScrollInsensitive |
表示物件類型類型的常數 |
| TypeScrollSensitive |
表示物件類型可捲動且通常對資料 |
屬性
| 名稱 | Description |
|---|---|
| Concurrency |
取得此模式 |
| CursorName |
取得此 |
| FetchDirection |
取得該 |
| FetchSize |
取得取取大小(以列數計)的 |
| Handle |
取得底層 Android 物件的 JNI 值。 (繼承來源 IJavaObject) |
| Holdability |
返回此結果集的可保持性: HoldCursorsOverCommit 或 CloseCursorsAtCommit。 |
| IsAfterLast |
如果游標位於 的最後一列 |
| IsBeforeFirst |
當游標位於 . 的第一列 |
| IsClosed |
如果該結果集已被封閉,則回傳真,否則回傳假。 |
| IsFirst |
如果游標位於 的第一 |
| IsLast |
當游標位於 |
| JniIdentityHashCode |
回傳包裹實例的 |
| JniManagedPeerState |
管理貴族的狀況。 (繼承來源 IJavaPeerable) |
| JniObjectReferenceControlBlock |
一個代表資料庫結果集的資料表,通常透過執行查詢資料庫的陳述式產生。 (繼承來源 IJavaPeerable) |
| JniPeerMembers |
成員存取與召喚支援。 (繼承來源 IJavaPeerable) |
| MetaData |
取得這個 |
| PeerReference |
回傳JniObjectReference包裹後的 Java 物件實例。 (繼承來源 IJavaPeerable) |
| Row |
取得當前列 |
| Statement |
取得產生此訊息 |
| Type |
取得 |
| Warnings |
會收到由該電話 |
方法
| 名稱 | Description |
|---|---|
| Absolute(Int32) |
將游標移動到該 |
| AfterLast() |
將游標移至該 |
| BeforeFirst() |
將游標移至該 |
| CancelRowUpdates() |
取消對此物件目前列 |
| ClearWarnings() |
清除所有關於此 |
| Close() |
立即釋放該 |
| DeleteRow() |
刪除此 |
| Disposed() |
當實例被處理後才被召喚。 (繼承來源 IJavaPeerable) |
| DisposeUnlessReferenced() |
如果沒有未解決的參考資料,則 |
| Finalized() |
當實例完成後才會被通知。 (繼承來源 IJavaPeerable) |
| FindColumn(String) |
將給定 |
| First() |
將游標移至該 |
| GetArray(Int32) |
在 Java 程式語言中,將該 |
| GetArray(String) |
在 Java 程式語言中,將該 |
| GetAsciiStream(Int32) |
取得該 |
| GetAsciiStream(String) |
取得該 |
| GetBigDecimal(Int32, Int32) |
已淘汰.
在 Java 程式語言中,取得該 |
| GetBigDecimal(Int32) |
以全精確度取得該 |
| GetBigDecimal(String, Int32) |
已淘汰.
在 Java 程式語言中,取得該 |
| GetBigDecimal(String) |
以全精確度取得該 |
| GetBinaryStream(Int32) |
取得該 |
| GetBinaryStream(String) |
以未解 |
| GetBlob(Int32) |
在 Java 程式語言中,將該 |
| GetBlob(String) |
在 Java 程式語言中,將該 |
| GetBoolean(Int32) |
在 Java 程式語言中,取得該 |
| GetBoolean(String) |
在 Java 程式語言中,取得該 |
| GetByte(Int32) |
在 Java 程式語言中,取得該 |
| GetByte(String) |
在 Java 程式語言中,取得該 |
| GetBytes(Int32) |
以 Java 程式語言的陣列形式,取得該 |
| GetBytes(String) |
以 Java 程式語言的陣列形式,取得該 |
| GetCharacterStream(Int32) |
取得該 |
| GetCharacterStream(String) |
取得該 |
| GetClob(Int32) |
在 Java 程式語言中,將該 |
| GetClob(String) |
在 Java 程式語言中,將該 |
| GetDate(Int32, Calendar) |
在 Java 程式語言中,將該 |
| GetDate(Int32) |
在 Java 程式語言中,將該 |
| GetDate(String, Calendar) |
在 Java 程式語言中,將該 |
| GetDate(String) |
在 Java 程式語言中,將該 |
| GetDouble(Int32) |
在 Java 程式語言中,取得該 |
| GetDouble(String) |
在 Java 程式語言中,取得該 |
| GetFloat(Int32) |
在 Java 程式語言中,取得該 |
| GetFloat(String) |
在 Java 程式語言中,取得該 |
| GetInt(Int32) |
以 Java 程式語言取得該 |
| GetInt(String) |
以 Java 程式語言取得該 |
| GetLong(Int32) |
在 Java 程式語言中,取得該 |
| GetLong(String) |
在 Java 程式語言中,取得該 |
| GetNCharacterStream(Int32) |
取得該 |
| GetNCharacterStream(String) |
取得該 |
| GetNClob(Int32) |
在 Java 程式語言中,將該 |
| GetNClob(String) |
在 Java 程式語言中,將該 |
| GetNString(Int32) |
在 Java 程式語言中,取得該 |
| GetNString(String) |
在 Java 程式語言中,取得該 |
| GetObject(Int32, IDictionary<String,Class>) |
以 Java 程式語言取得該 |
| GetObject(Int32) |
取得該 |
| GetObject(String, IDictionary<String,Class>) |
以 Java 程式語言取得該 |
| GetObject(String) |
取得該 |
| GetRef(Int32) |
在 Java 程式語言中,將該 |
| GetRef(String) |
在 Java 程式語言中,將該 |
| GetRowId(Int32) |
在 Java 程式語言中,將該 |
| GetRowId(String) |
在 Java 程式語言中,將該 |
| GetShort(Int32) |
在 Java 程式語言中,取得該 |
| GetShort(String) |
在 Java 程式語言中,取得該 |
| GetSQLXML(Int32) |
以 Java 程式語言的物件形式,取得目前 |
| GetSQLXML(String) |
以 Java 程式語言的物件形式,取得目前 |
| GetString(Int32) |
在 Java 程式語言中,取得該 |
| GetString(String) |
在 Java 程式語言中,取得該 |
| GetTime(Int32, Calendar) |
在 Java 程式語言中,將該 |
| GetTime(Int32) |
在 Java 程式語言中,將該 |
| GetTime(String, Calendar) |
在 Java 程式語言中,將該 |
| GetTime(String) |
在 Java 程式語言中,將該 |
| GetTimestamp(Int32, Calendar) |
在 Java 程式語言中,將該 |
| GetTimestamp(Int32) |
在 Java 程式語言中,將該 |
| GetTimestamp(String, Calendar) |
在 Java 程式語言中,將該 |
| GetTimestamp(String) |
在 Java 程式語言中,將該 |
| GetUnicodeStream(Int32) |
已淘汰.
以兩位元組 3 字元的串流形式,取得該 |
| GetUnicodeStream(String) |
已淘汰.
擷取該 |
| GetURL(Int32) |
在 Java 程式語言中,將該 |
| GetURL(String) |
在 Java 程式語言中,將該 |
| InsertRow() |
將插入列的內容插入到此 |
| IsWrapperFor(Class) |
如果這要麼實作了介面參數,要麼直接或間接地為一個包含介面參數的物件包裝,則回傳為真。 (繼承來源 IWrapper) |
| Last() |
將游標移至此 |
| MoveToCurrentRow() |
將游標移至記憶中的游標位置,通常是當前列。 |
| MoveToInsertRow() |
將游標移至插入列。 |
| Next() |
將游標從當前位置向前移動一列。 |
| Previous() |
將游標移至此 |
| RefreshRow() |
以資料庫中最新的值刷新當前列。 |
| Relative(Int32) |
將游標移動相對數列,可為正或負。 |
| RowDeleted() |
讀取是否已刪除一列。 |
| RowInserted() |
讀取當前列是否已插入。 |
| RowUpdated() |
讀取當前列是否已更新。 |
| SetJniIdentityHashCode(Int32) |
將回傳的值設為 |
| SetJniManagedPeerState(JniManagedPeerStates) |
一個代表資料庫結果集的資料表,通常透過執行查詢資料庫的陳述式產生。 (繼承來源 IJavaPeerable) |
| SetPeerReference(JniObjectReference) |
將回傳的值設為 |
| UnregisterFromRuntime() |
取消註冊此實例,讓執行時不會在未來 Java.Interop.JniRuntime+JniValueManager.PeekValue 的呼叫中回傳該實例。 (繼承來源 IJavaPeerable) |
| Unwrap(Class) |
回傳一個物件,實作給定介面,允許存取非標準方法,或代理未暴露的標準方法。 (繼承來源 IWrapper) |
| UpdateArray(Int32, IArray) |
更新指定欄位並設定值 |
| UpdateArray(String, IArray) |
更新指定欄位並設定值 |
| UpdateAsciiStream(Int32, Stream, Int32) |
以 ASCII 串流值更新指定欄位,該欄位將包含指定的位元組數。 |
| UpdateAsciiStream(Int32, Stream, Int64) |
以 ASCII 串流值更新指定欄位,該欄位將包含指定的位元組數。 |
| UpdateAsciiStream(Int32, Stream) |
以 ASCII 串流值更新指定欄位。 |
| UpdateAsciiStream(String, Stream, Int32) |
以 ASCII 串流值更新指定欄位,該欄位將包含指定的位元組數。 |
| UpdateAsciiStream(String, Stream, Int64) |
以 ASCII 串流值更新指定欄位,該欄位將包含指定的位元組數。 |
| UpdateAsciiStream(String, Stream) |
以 ASCII 串流值更新指定欄位。 |
| UpdateBigDecimal(Int32, BigDecimal) |
更新指定欄位並設定值 |
| UpdateBigDecimal(String, BigDecimal) |
更新指定欄位並設定值 |
| UpdateBinaryStream(Int32, Stream, Int32) |
更新指定欄位,並以二進位串流值更新,該值將包含指定的位元組數。 |
| UpdateBinaryStream(Int32, Stream, Int64) |
更新指定欄位,並以二進位串流值更新,該值將包含指定的位元組數。 |
| UpdateBinaryStream(Int32, Stream) |
更新指定欄位並以二進位串流值。 |
| UpdateBinaryStream(String, Stream, Int32) |
更新指定欄位,並以二進位串流值更新,該值將包含指定的位元組數。 |
| UpdateBinaryStream(String, Stream, Int64) |
更新指定欄位,並以二進位串流值更新,該值將包含指定的位元組數。 |
| UpdateBinaryStream(String, Stream) |
更新指定欄位並以二進位串流值。 |
| UpdateBlob(Int32, IBlob) |
更新指定欄位並設定值 |
| UpdateBlob(Int32, Stream, Int64) |
使用指定輸入串流更新指定欄位,該輸入串流將擁有指定的位元組數。 |
| UpdateBlob(Int32, Stream) |
利用給定的輸入串流更新指定欄位。 |
| UpdateBlob(String, IBlob) |
更新指定欄位並設定值 |
| UpdateBlob(String, Stream, Int64) |
使用指定輸入串流更新指定欄位,該輸入串流將擁有指定的位元組數。 |
| UpdateBlob(String, Stream) |
利用給定的輸入串流更新指定欄位。 |
| UpdateBoolean(Int32, Boolean) |
更新指定欄位並設定值 |
| UpdateBoolean(String, Boolean) |
更新指定欄位並設定值 |
| UpdateByte(Int32, SByte) |
更新指定欄位並設定值 |
| UpdateByte(String, SByte) |
更新指定欄位並設定值 |
| UpdateBytes(Int32, Byte[]) |
以陣列值更新指定欄位 |
| UpdateBytes(String, Byte[]) |
以位元組陣列值更新指定的欄位。 |
| UpdateCharacterStream(Int32, Reader, Int32) |
更新指定欄位,輸入字元串流值,該欄位將包含指定的位元組數。 |
| UpdateCharacterStream(Int32, Reader, Int64) |
更新指定欄位,輸入字元串流值,該欄位將包含指定的位元組數。 |
| UpdateCharacterStream(Int32, Reader) |
以字元串流值更新指定欄位。 |
| UpdateCharacterStream(String, Reader, Int32) |
更新指定欄位,輸入字元串流值,該欄位將包含指定的位元組數。 |
| UpdateCharacterStream(String, Reader, Int64) |
更新指定欄位,輸入字元串流值,該欄位將包含指定的位元組數。 |
| UpdateCharacterStream(String, Reader) |
以字元串流值更新指定欄位。 |
| UpdateClob(Int32, IClob) |
更新指定欄位並設定值 |
| UpdateClob(Int32, Reader, Int64) |
使用指定 |
| UpdateClob(Int32, Reader) |
使用指定 |
| UpdateClob(String, IClob) |
更新指定欄位並設定值 |
| UpdateClob(String, Reader, Int64) |
使用指定 |
| UpdateClob(String, Reader) |
使用指定 |
| UpdateDate(Int32, Date) |
更新指定欄位並設定值 |
| UpdateDate(String, Date) |
更新指定欄位並設定值 |
| UpdateDouble(Int32, Double) |
更新指定欄位並設定值 |
| UpdateDouble(String, Double) |
更新指定欄位並設定值 |
| UpdateFloat(Int32, Single) |
更新指定欄位並設定值 |
| UpdateFloat(String, Single) |
更新指定欄位並設定值 |
| UpdateInt(Int32, Int32) |
更新指定欄位並設定值 |
| UpdateInt(String, Int32) |
更新指定欄位並設定值 |
| UpdateLong(Int32, Int64) |
更新指定欄位並設定值 |
| UpdateLong(String, Int64) |
更新指定欄位並設定值 |
| UpdateNCharacterStream(Int32, Reader, Int64) |
更新指定欄位,輸入字元串流值,該欄位將包含指定的位元組數。 |
| UpdateNCharacterStream(Int32, Reader) |
以字元串流值更新指定欄位。 |
| UpdateNCharacterStream(String, Reader, Int64) |
更新指定欄位,輸入字元串流值,該欄位將包含指定的位元組數。 |
| UpdateNCharacterStream(String, Reader) |
以字元串流值更新指定欄位。 |
| UpdateNClob(Int32, INClob) |
更新指定欄位並設定值 |
| UpdateNClob(Int32, Reader, Int64) |
使用指定 |
| UpdateNClob(Int32, Reader) |
使用給定的欄位更新
|
| UpdateNClob(String, INClob) |
更新指定欄位並設定值 |
| UpdateNClob(String, Reader, Int64) |
使用指定 |
| UpdateNClob(String, Reader) |
使用指定 |
| UpdateNString(Int32, String) |
更新指定欄位並設定值 |
| UpdateNString(String, String) |
更新指定欄位並設定值 |
| UpdateNull(Int32) |
更新指定欄位並設定值 |
| UpdateNull(String) |
更新指定欄位並設定值 |
| UpdateObject(Int32, Object, Int32) |
更新指定欄位並設定值 |
| UpdateObject(Int32, Object) |
更新指定欄位並設定值 |
| UpdateObject(String, Object, Int32) |
更新指定欄位並設定值 |
| UpdateObject(String, Object) |
更新指定欄位並設定值 |
| UpdateRef(Int32, IRef) |
更新指定欄位並設定值 |
| UpdateRef(String, IRef) |
更新指定欄位並設定值 |
| UpdateRow() |
更新底層資料庫,新增該物件當前列 |
| UpdateRowId(Int32, IRowId) |
更新指定欄位並設定值 |
| UpdateRowId(String, IRowId) |
更新指定欄位並設定值 |
| UpdateShort(Int32, Int16) |
更新指定欄位並設定值 |
| UpdateShort(String, Int16) |
更新指定欄位並設定值 |
| UpdateSQLXML(Int32, ISQLXML) |
更新指定欄位並設定值 |
| UpdateSQLXML(String, ISQLXML) |
更新指定欄位並設定值 |
| UpdateString(Int32, String) |
更新指定欄位並設定值 |
| UpdateString(String, String) |
更新指定欄位並設定值 |
| UpdateTime(Int32, Time) |
更新指定欄位並設定值 |
| UpdateTime(String, Time) |
更新指定欄位並設定值 |
| UpdateTimestamp(Int32, Timestamp) |
更新指定欄位並設定值 |
| UpdateTimestamp(String, Timestamp) |
更新指定欄位並設定值 |
| WasNull() |
報告最後一次讀取欄位是否值為 SQL |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
一個代表資料庫結果集的資料表,通常透過執行查詢資料庫的陳述式產生。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |