SqlCeResultSet 類別

繼承階層

System.Object
  System.MarshalByRefObject
    System.Data.Common.DbDataReader
      System.Data.SqlServerCe.SqlCeDataReader
        System.Data.SqlServerCe.SqlCeResultSet

命名空間:  System.Data.SqlServerCe
組件:  System.Data.SqlServerCe (在 System.Data.SqlServerCe.dll 中)

語法

'宣告
Public Class SqlCeResultSet _
    Inherits SqlCeDataReader _
    Implements IEnumerable, IListSource
'用途
Dim instance As SqlCeResultSet
public class SqlCeResultSet : SqlCeDataReader, 
    IEnumerable, IListSource
public ref class SqlCeResultSet : public SqlCeDataReader, 
    IEnumerable, IListSource
type SqlCeResultSet =  
    class
        inherit SqlCeDataReader
        interface IEnumerable
        interface IListSource
    end
public class SqlCeResultSet extends SqlCeDataReader implements IEnumerable, IListSource

SqlCeResultSet 型別公開下列成員。

建構函式

  名稱 說明
受保護的方法 SqlCeResultSet 安全性關鍵。不要使用。若要建立 SqlCeResultSet,則必須呼叫 SqlCeCommand 的 ExecuteResultSet(ResultSetOptions) 方法。

上層

屬性

  名稱 說明
受保護的屬性 ContainsListCollection 基礎結構。
公用屬性 Depth 取得值,表示目前資料列的巢狀深度。 (繼承自 SqlCeDataReader)
公用屬性 FieldCount 取得查詢之 SELECT 子句中的資料行數目。 (繼承自 SqlCeDataReader)
公用屬性 HasRows 取得值,這個值表示 SqlCeDataReader 是否包含一個或多個資料列。 (繼承自 SqlCeDataReader)
公用屬性 HiddenFieldCount 基礎結構。 (繼承自 SqlCeDataReader)
公用屬性 IsClosed 指示是否關閉資料讀取器。 (繼承自 SqlCeDataReader)
公用屬性 Item[Int32] 可用來當做 SqlCeResultSet 的索引子。 (覆寫 SqlCeDataReader.Item[Int32]。)
公用屬性 Item[String] 可用來當做 SqlCeResultSet 的索引子。 (覆寫 SqlCeDataReader.Item[String]。)
公用屬性 RecordsAffected 取得 SQL 陳述式的執行所變更、插入或刪除的資料列數目。 (繼承自 SqlCeDataReader)
公用屬性 ResultSetView 用於將 SqlCeResultSet 資料繫結到控制項時。
公用屬性 Scrollable 決定 SqlCeResultSet 是否可捲動。
公用屬性 Sensitivity 決定 SqlCeResultSet 的敏感度。
公用屬性 Updatable 決定 SqlCeResultSet 內的值是否可修改。
公用屬性 VisibleFieldCount (繼承自 DbDataReader)

上層

方法

  名稱 說明
公用方法 Close 關閉 SqlCeDataReader 物件。 (繼承自 SqlCeDataReader)
公用方法 CreateObjRef (繼承自 MarshalByRefObject)
公用方法 CreateRecord 在伺服器上建立新的資料列並傳回 SqlCeUpdatableRecord 物件。
公用方法 Delete 從伺服器上的資料來源刪除目前的資料錄。
公用方法 Dispose() 基礎結構。釋放此 SqlCeDataReader 所耗用的資源。 (繼承自 SqlCeDataReader)
受保護的方法 Dispose(Boolean) 釋放這個 SqlCeDataReader 所使用的 Unmanaged 資源,並且選擇性地釋放 Managed 資源。 (繼承自 SqlCeDataReader)
公用方法 Equals (繼承自 Object)
受保護的方法 Finalize 釋放 Unmanaged 資源並執行其他清除作業後,記憶體回收才能重新回收 SqlCeDataReader。 (繼承自 SqlCeDataReader)
公用方法 GetBoolean 將指定索引處的資料行值當做布林值 (Boolean) 傳回。 (覆寫 SqlCeDataReader.GetBoolean(Int32)。)
公用方法 GetByte 將指定索引處的資料行值當做位元組傳回。 (覆寫 SqlCeDataReader.GetByte(Int32)。)
公用方法 GetBytes 從指定欄位的指定位置開始,將某一段位元組複製到緩衝區。 (覆寫 SqlCeDataReader.GetBytes(Int32, Int64, array<Byte[], Int32, Int32)。)
公用方法 GetChar .NET Compact Framework Data Provider for SQL Server Compact 中不支援。 (繼承自 SqlCeDataReader)
公用方法 GetChars 從指定欄位的指定位置開始,將某一段的字元複製到緩衝區。 (覆寫 SqlCeDataReader.GetChars(Int32, Int64, array<Char[], Int32, Int32)。)
公用方法 GetData (繼承自 DbDataReader)
公用方法 GetDataTypeName 取得來源資料類型的名稱。 (繼承自 SqlCeDataReader)
公用方法 GetDateTime 將指定之索引處的資料行值當做 DateTime 傳回。 (覆寫 SqlCeDataReader.GetDateTime(Int32)。)
受保護的方法 GetDbDataReader (繼承自 DbDataReader)
公用方法 GetDecimal 將指定之索引處的資料行值當做 Double 傳回。 (覆寫 SqlCeDataReader.GetDecimal(Int32)。)
公用方法 GetDouble 將指定之索引處的資料行值當做 Double 傳回。 (覆寫 SqlCeDataReader.GetDouble(Int32)。)
公用方法 GetEnumerator 傳回 IEnumerator,可用來逐一查看資料讀取器中的資料列。 (覆寫 SqlCeDataReader.GetEnumerator()。)
公用方法 GetFieldType 取得 Type,即是物件的資料類型。 (繼承自 SqlCeDataReader)
公用方法 GetFloat 將指定之索引處的資料行值當做 Float 傳回。 (覆寫 SqlCeDataReader.GetFloat(Int32)。)
公用方法 GetGuid 將指定之索引處的資料行值當做 GUID 傳回。 (覆寫 SqlCeDataReader.GetGuid(Int32)。)
公用方法 GetHashCode (繼承自 Object)
公用方法 GetInt16 將指定之索引處的資料行值當做 Int16 傳回。 (覆寫 SqlCeDataReader.GetInt16(Int32)。)
公用方法 GetInt32 將指定之索引處的資料行值當做 Int32 傳回。 (覆寫 SqlCeDataReader.GetInt32(Int32)。)
公用方法 GetInt64 將指定之索引處的資料行值當做 Int64 傳回。 (覆寫 SqlCeDataReader.GetInt64(Int32)。)
公用方法 GetLifetimeService (繼承自 MarshalByRefObject)
受保護的方法 GetList 傳回 ResultSetView 的執行個體。
公用方法 GetName 取得指定之資料行的名稱。 (繼承自 SqlCeDataReader)
公用方法 GetOrdinal 提供資料行的名稱,取得資料行序數。 (繼承自 SqlCeDataReader)
公用方法 GetProviderSpecificFieldType 取得 Object,其為基礎提供者專屬欄位類型的表示。 (繼承自 SqlCeDataReader)
公用方法 GetProviderSpecificValue (繼承自 DbDataReader)
公用方法 GetProviderSpecificValues (繼承自 DbDataReader)
公用方法 GetSchemaTable 傳回 DataTable,以描述 SqlCeDataReader 的資料行中繼資料。 (繼承自 SqlCeDataReader)
公用方法 GetSqlBinary 將指定之索引處的資料行當做 SqlBinary 類型傳回。 (覆寫 SqlCeDataReader.GetSqlBinary(Int32)。)
公用方法 GetSqlBoolean 將指定之索引處的資料行值當做 SqlBoolean 類型傳回。 (覆寫 SqlCeDataReader.GetSqlBoolean(Int32)。)
公用方法 GetSqlByte 將指定之索引處的資料行值當做 SqlByte 類型傳回。 (覆寫 SqlCeDataReader.GetSqlByte(Int32)。)
公用方法 GetSqlDateTime 將指定之索引處的資料行值當做 SqlDateTime 類型傳回。 (覆寫 SqlCeDataReader.GetSqlDateTime(Int32)。)
公用方法 GetSqlDecimal 將指定之索引處的資料行值當做 SqlDecimal 類型傳回。 (覆寫 SqlCeDataReader.GetSqlDecimal(Int32)。)
公用方法 GetSqlDouble 將指定之索引處的資料行值當做 SqlDouble 類型傳回。 (覆寫 SqlCeDataReader.GetSqlDouble(Int32)。)
公用方法 GetSqlGuid 將指定之索引處的資料行值當做 SqlGuid 類型傳回。 (覆寫 SqlCeDataReader.GetSqlGuid(Int32)。)
公用方法 GetSqlInt16 將指定之索引處的資料行值當做 SqlInt16 類型傳回。 (覆寫 SqlCeDataReader.GetSqlInt16(Int32)。)
公用方法 GetSqlInt32 將指定之索引處的資料行值當做 SqlInt32 類型傳回。 (覆寫 SqlCeDataReader.GetSqlInt32(Int32)。)
公用方法 GetSqlInt64 將指定之索引處的資料行值當做 SqlInt64 類型傳回。 (覆寫 SqlCeDataReader.GetSqlInt64(Int32)。)
公用方法 GetSqlMetaData 傳回與指定資料行關聯的中繼資料資訊。
公用方法 GetSqlMoney 將指定之索引處的資料行值當做 SqlMoney 類型傳回。 (覆寫 SqlCeDataReader.GetSqlMoney(Int32)。)
公用方法 GetSqlSingle 將指定之索引處的資料行值當做 SqlSingle 類型傳回。 (覆寫 SqlCeDataReader.GetSqlSingle(Int32)。)
公用方法 GetSqlString 將指定之索引處的資料行值當做 SqlString 類型傳回。 (覆寫 SqlCeDataReader.GetSqlString(Int32)。)
公用方法 GetString 將指定之索引處的資料行值當做 String 類型傳回。 (覆寫 SqlCeDataReader.GetString(Int32)。)
公用方法 GetType (繼承自 Object)
公用方法 GetValue 傳回指定欄位的值。 (覆寫 SqlCeDataReader.GetValue(Int32)。)
公用方法 GetValues 擷取其中包含指定之資料錄所有欄位的陣列。 (覆寫 SqlCeDataReader.GetValues(array<Object[])。)
公用方法 InitializeLifetimeService (繼承自 MarshalByRefObject)
公用方法 Insert(SqlCeUpdatableRecord) 在基礎資料列集中插入指定的 SqlCeUpdatableRecord
公用方法 Insert(SqlCeUpdatableRecord, DbInsertOptions) 在基礎資料列集中插入指定的 SqlCeUpdatableRecord,並指定資料指標的位置。
受保護的方法 IsCommandBehavior 決定指定的 CommandBehavior 是否與這個 SqlCeDataReader 的行為相符。 (繼承自 SqlCeDataReader)
公用方法 IsDBNull 判斷指定序數位置的欄位是否為 null。 (覆寫 SqlCeDataReader.IsDBNull(Int32)。)
公用方法 IsSetAsDefault 判斷指定序數位置的欄位是否已標記為使用基礎預設值。
受保護的方法 MemberwiseClone() (繼承自 Object)
受保護的方法 MemberwiseClone(Boolean) (繼承自 MarshalByRefObject)
公用方法 NextResult .NET Compact Framework Data Provider for SQL Server Compact 中不支援。 (繼承自 SqlCeDataReader)
受保護的方法 OnMove 基礎結構。 (覆寫 SqlCeDataReader.OnMove()。)
公用方法 Read SqlCeDataReader 向前移到下一個資料錄。 (繼承自 SqlCeDataReader)
公用方法 ReadAbsolute 將讀取器移至 ResultSet 中的特定資料錄。
公用方法 ReadFirst 將讀取器放在 ResultSet 的第一個資料錄上。
公用方法 ReadLast 將讀取器放在 ResultSet 的最後一個資料錄上。
公用方法 ReadPrevious 將讀取器放在目前資料錄的前一個資料錄。
公用方法 ReadRelative 從目前的位置將讀取器移動指定的數目。
公用方法 Seek SqlCeDataReader 放到具有符合指定參數之索引值的資料錄上。 (繼承自 SqlCeDataReader)
公用方法 SetBoolean 將指定資料行的值設定為傳入的布林值。
公用方法 SetByte 將指定資料行的值設定為傳入的位元組值。
公用方法 SetBytes 從該欄位內的指定位置開始,將某一段位元組從指定的緩衝區複製到指定的資料行。
公用方法 SetChar 將指定資料行的值設定為傳入的字元值。
公用方法 SetChars 從該欄位內的指定位置開始,將某個長度的字元從指定的緩衝區複製到指定的資料行。
公用方法 SetDateTime 將指定資料行的值設定為傳入的 DateTime 值。
公用方法 SetDecimal 將指定資料行的值設定為傳入的十進位值。
公用方法 SetDefault 將指定的資料行設定為其預設值。
公用方法 SetDouble 將指定資料行的值設定為傳入的雙精度浮點數 (Double) 值。
公用方法 SetFloat 將指定資料行的值設定為傳入的浮點數 (Float) 值。
公用方法 SetGuid 將指定資料行的值設定為傳入的 Guid 值。
公用方法 SetInt16 將指定資料行的值設定為傳入的 Int16 值。
公用方法 SetInt32 將指定資料行的值設定為傳入的 Int32 值。
公用方法 SetInt64 將指定資料行的值設定為傳入的 Int64 值。
公用方法 SetObjectRef 將物件繫結至指定位置的資料行。
公用方法 SetSqlBinary 將指定資料行的值設定為傳入的 SqlBinary 值。
公用方法 SetSqlBoolean 將指定資料行的值設定為傳入的 SqlBoolean 值。
公用方法 SetSqlByte 將指定資料行的值設定為傳入的 SqlByte 值。
公用方法 SetSqlDateTime 將指定資料行的值設定為傳入的 SqlDateTime 值。
公用方法 SetSqlDecimal 將指定資料行的值設定為傳入的 SqlDecimal 值。
公用方法 SetSqlDouble 將指定資料行的值設定為傳入的 SqlDouble 值。
公用方法 SetSqlGuid 將指定資料行的值設定為傳入的 SqlGuid 值。
公用方法 SetSqlInt16 將指定資料行的值設定為傳入的 SqlInt16 值。
公用方法 SetSqlInt32 將指定資料行的值設定為傳入的 SqlInt32 值。
公用方法 SetSqlInt64 將指定資料行的值設定為傳入的 SqlInt64 值。
公用方法 SetSqlMoney 將指定資料行的值設定為傳入的 SqlMoney 值。
公用方法 SetSqlSingle 將指定資料行的值設定為傳入的 SqlSingle 值。
公用方法 SetSqlString 將指定資料行的值設定為傳入的 SqlString 值。
公用方法 SetString 將指定資料行的值設定為傳入的字串值。
公用方法 SetValue 將指定資料行的值設定為傳入的值。
公用方法 SetValues 將指定資料錄中的每個欄位設定為指定陣列中的對應值。
公用方法 ToString (繼承自 Object)
公用方法 Update 將變更從目前的資料錄傳送至伺服器上的基礎資料列。

上層

明確 繼承 實作

  名稱 說明
明確介面實作私用屬性 IListSource.ContainsListCollection
明確介面實作私用方法 IEnumerable.GetEnumerator
明確介面實作私用方法 IListSource.GetList
明確介面實作私用方法 IDataRecord.GetData (繼承自 DbDataReader)

上層

備註

在舊版的 SQL Server Compact 中,若要將控制項繫結至資料,您必須使用 DataSet。雖然 SqlCeDataReader 提供的效能比 DataSet 高,它仍是順向且不可更新的資料指標。在 SQL Server Compact 中,SqlCeResultSet 可提供多項功能:DataSet 的可更新性與可捲動性,加上類似於 SqlCeDataReader 的效能。

若要建立 SqlCeResultSet,則必須呼叫 ExecuteResultSet 方法,而不是使用該物件的建構函式。

ResultSetOptions 可讓您指定 SqlCeResultSet 的可捲動性、可更新性和敏感度 (此項目決定 SqlCeResultSet 是否可看到本身或其他人所做的變更)。

SqlCeDataReader 的預設位置是在第一個資料錄之前。若要開始存取任何資料,您必須呼叫 Read。第一個 Read 會將資料指標放置於第一個資料錄。其行為與 SqlCeResultSet.Read 方法的行為不同。SqlCeResultSet 的預設位置是第一個資料錄。在建立 SqlCeResultSet 之後立即呼叫 SqlCeResultSet.Read 方法會將資料指標移至第二個資料錄。

範例

在下列範例中會建立新的 SQL Server Compact 資料庫,然後再初始化 SqlCeResultSet,以使用資料填入資料集。

Dim conn As SqlCeConnection = Nothing

Try
    File.Delete("Test.sdf")

    Dim engine As New SqlCeEngine("Data Source = Test.sdf")
    engine.CreateDatabase()

    conn = New SqlCeConnection("Data Source = Test.sdf")
    conn.Open()

    Dim cmd As SqlCeCommand = conn.CreateCommand()
    cmd.CommandText = "CREATE TABLE myTable (col1 INT, col2 MONEY, col3 NVARCHAR(200))"
    cmd.ExecuteNonQuery()

    cmd.CommandText = "SELECT * FROM myTable"

    Dim rs As SqlCeResultSet = cmd.ExecuteResultSet(ResultSetOptions.Updatable Or ResultSetOptions.Scrollable)

    Dim rec As SqlCeUpdatableRecord = rs.CreateRecord()

    rec.SetInt32(0, 34)
    rec.SetDecimal(1, System.Convert.ToDecimal(44.66))
    rec.SetString(2, "Sample text")

    rs.Insert(rec)
Catch e As Exception
    MessageBox.Show(e.Message)
Finally
    conn.Close()
End Try
SqlCeConnection conn = null;

try
{
    File.Delete("Test.sdf");

    SqlCeEngine engine = new SqlCeEngine("Data Source = Test.sdf");
    engine.CreateDatabase();

    conn = new SqlCeConnection("Data Source = Test.sdf");
    conn.Open();

    SqlCeCommand cmd = conn.CreateCommand();
    cmd.CommandText = "CREATE TABLE myTable (col1 INT, col2 MONEY, col3 NVARCHAR(200))";
    cmd.ExecuteNonQuery();

    cmd.CommandText = "SELECT * FROM myTable";

    SqlCeResultSet rs = cmd.ExecuteResultSet(ResultSetOptions.Updatable | 
        ResultSetOptions.Scrollable);

    SqlCeUpdatableRecord rec = rs.CreateRecord();

    rec.SetInt32(0, 34);
    rec.SetDecimal(1, (decimal)44.66);
    rec.SetString(2, "Sample text");

    rs.Insert(rec);
}
catch (Exception e)
{
    MessageBox.Show(e.Message);
}
finally
{
    conn.Close();
}

執行緒安全性

這個類型的任何公用靜態 (在 Microsoft Visual Basic 中為 Shared) 成員都是執行緒安全的。並不是所有的執行個體成員都保證可以用於所有的執行緒。

請參閱

參考

System.Data.SqlServerCe 命名空間