Compartilhar via


SqlCeResultSet Class

Um cursor que pode ser atualizado, rolado e associado.

Namespace: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (em system.data.sqlserverce.dll)

Sintaxe

'Declaração
<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

Comentários

Em versões anteriores do SQL Server Compact 3.5, para associar controles a dados, era necessário usar um DataSet. O SqlCeDataReader fornece um desempenho melhor que um DataSet, mas trata-se de um cursor somente de encaminhamento, não atualizável. No SQL Server Compact 3.5, o SqlCeResultSet oferece uma combinação de funcionalidades: a capacidade de atualização e rolagem do DataSet junto com um desempenho semelhante ao do SqlCeDataReader.

Para criar um SqlCeResultSet, chame o método ExecuteResultSet em vez de usar o construtor do objeto.

As ResultSetOptions permitem especificar a capacidade de rolagem, de atualização e a sensibilidade (que determina se o SqlCeResultSet vê as alterações feitas por ele mesmo ou por outros) do SqlCeResultSet.

A posição padrão do SqlCeDataReader é anterior ao primeiro registro. Para começar a acessar qualquer dado, chame Read. O primeiro Read posicionará o cursor no primeiro registro. O comportamento é diferente do método SqlCeResultSet.Read. A posição padrão do SqlCeResultSet é o primeiro registro. A chamada do método SqlCeResultSet.Read imediatamente após a criação de SqlCeResultSet moverá o cursor para o segundo registro.

Hierarquia de herança

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

Exemplo

No exemplo a seguir, é criado um novo banco de dados do SQL Server Compact 3.5. Em seguida, um SqlCeResultSet é inicializado para preencher o conjunto de dados com dados.

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

Segurança de thread

Quaisquer membros estáticos públicos (compartilhados no Microsoft Visual Basic) desse tipo são thread safe. Não há garantia de que qualquer membro de instância seja thread safe.

Plataformas

Plataformas de desenvolvimento

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
Informações de versão
.NET Framework e NET Compact Framework
Com suporte no 3.5
.NET Framework
Com suporte no 3.0
.NET Compact Framework e .Net Framework
Com suporte no 2.0

Consulte também

Referência

SqlCeResultSet Members
System.Data.SqlServerCe Namespace