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