共用方式為


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

備註

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

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

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

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

範例

在下列範例中會建立新的 SQL Server Compact 3.5 資料庫,然後再初始化 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();
}

繼承階層

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

執行緒安全性

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

請參閱

參考

SqlCeResultSet 成員

System.Data.SqlServerCe 命名空間