Partager via


SqlCeResultSet Class

Curseur modifiable, déroulant et pouvant être lié.

Espace de noms: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (dans system.data.sqlserverce.dll)

Syntaxe

'Déclaration
<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

Remarques

Dans les versions antérieures de SQL Server Compact 3.5, pour lier des contrôles aux données, vous deviez utiliser DataSet. Bien que SqlCeDataReader offre de meilleures performances que DataSet, il s'agit d'un curseur avant uniquement, non modifiable. Dans SQL Server Compact 3.5, SqlCeResultSet combine le caractère modifiable et déroulant de DataSet et les performances de SqlCeDataReader.

Pour créer SqlCeResultSet, vous devez appeler la méthode ExecuteResultSet, et non utiliser le constructeur de l'objet.

ResultSetOptions vous permet de spécifier le caractère déroulant, le caractère modifiable et la sensibilité (laquelle détermine si SqlCeResultSet voit les modifications apportées par lui-même ou d'autres) de SqlCeResultSet.

La position par défaut de SqlCeDataReader est antérieure au premier enregistrement. Pour commencer à accéder aux données, vous devez appeler Read. Le premier Read va positionner le curseur sur le premier enregistrement. Le comportement est différent de celui de la méthode SqlCeResultSet.Read. La position par défaut de SqlCeResultSet est le premier enregistrement. En appelant la méthode SqlCeResultSet.Read immédiatement après la création de SqlCeResultSet, le curseur va être déplacé sur le second enregistrement.

Hiérarchie d'héritage

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

Exemple

Dans l'exemple suivant, une nouvelle base de données SQL Server Compact 3.5 est créée. SqlCeResultSet est ensuite initialisé pour remplir le groupe de données avec des données.

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

Sécurité des threads

Tout membre statique public (Partagé dans Microsoft Visual Basic) de ce type sont thread-safe. Tous les membres de l'instance ne sont pas garantis comme sûrs.

Plateformes

Plateformes de développement

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
Informations sur la version
.NET Framework et NET Compact Framework
Pris en charge dans 3.5
.NET Framework
Pris en charge dans 3.0
.NET Compact Framework et .Net Framework
Pris en charge dans 2.0

Voir aussi

Référence

SqlCeResultSet Members
System.Data.SqlServerCe Namespace