SqlCeResultSet Class

Un cursore aggiornabile, scorrevole e associabile.

Spazio dei nomi: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (in system.data.sqlserverce.dll)

Sintassi

'Dichiarazione
<DefaultMemberAttribute("Item")> _
Public Class SqlCeResultSet
    Inherits SqlCeDataReader
    Implements IEnumerable, IListSource
[DefaultMemberAttribute("Item")] 
public class SqlCeResultSet : SqlCeDataReader, IEnumerable, IListSource
[DefaultMemberAttribute(L"Item")] 
public ref class SqlCeResultSet : public SqlCeDataReader, IEnumerable, IListSource
/** @attribute DefaultMemberAttribute("Item") */ 
public class SqlCeResultSet extends SqlCeDataReader implements IEnumerable, IListSource
DefaultMemberAttribute("Item") 
public class SqlCeResultSet extends SqlCeDataReader implements IEnumerable, IListSource

Osservazioni

Nelle versioni precedenti di SQL Server Compact 3.5, per associare i controlli ai dati era necessario utilizzare una classe DataSet. Sebbene una classe SqlCeDataReader garantisca prestazioni migliori rispetto a una classe DataSet, il cursore fornito è di tipo forward-only non aggiornabile. In SQL Server Compact 3.5 la classe SqlCeResultSet fornisce una combinazione di funzionalità, ovvero la possibilità di eseguire l'aggiornamento e lo scorrimento offerta dalla classe DataSet e prestazioni analoghe a quelle della classe SqlCeDataReader.

Per creare un oggetto SqlCeResultSet, è necessario chiamare il metodo ExecuteResultSet anziché utilizzare il costruttore dell'oggetto.

L'enumerazione ResultSetOptions consente di specificare le caratteristiche di scorrimento, aggiornamento e sensibilità (che determina la capacità dell'oggetto SqlCeResultSet di vedere le modifiche apportate dall'oggetto stesso o da altri) della classe SqlCeResultSet.

La posizione predefinita dell'interfaccia SqlCeDataReader è precedente al primo record. Per iniziare l'accesso ai dati, è necessario chiamare il metodo Read. La prima chiamata al metodo Read determinerà il posizionamento del cursore sul primo record. Il comportamento è diverso rispetto a quello del metodo SqlCeResultSet.Read. La posizione predefinita della classe SqlCeResultSet è il primo record. Se si chiama il metodo SqlCeResultSet.Read subito dopo la creazione di SqlCeResultSet, il cursore si sposterà sul secondo record.

Gerarchia di ereditarietà

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

Esempio

Nell'esempio seguente viene creato un nuovo database di SQL Server Compact 3.5. Viene quindi inizializzata una classe SqlCeResultSet per compilare il dataset con i dati.

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();
}

Affidabilità

Tutti i membri statici pubblici (Shared in Microsoft Visual Basic) di questo tipo sono affidabili. Non è invece garantita l'affidabilità dei membri dell'istanza.

Piattaforme

Piattaforme di sviluppo

Windows Vista, Windows Mobile 5.0, Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Mobile 2003 for Pocket PC, Windows CE 5.0
Informazioni sulla versione
.NET Framework e .NET Compact Framework
Supportato in 3.5
.NET Framework
Supportato in 3.0
.NET Compact Framework e .NET Framework
Supportato in 2.0

Vedere anche

Riferimento

SqlCeResultSet Members
System.Data.SqlServerCe Namespace