Класс SqlCeResultSet

Обновляемый, прокручиваемый и связываемый курсор.

Иерархия наследования

System.Object
  System.MarshalByRefObject
    System.Data.Common.DbDataReader
      System.Data.SqlServerCe.SqlCeDataReader
        System.Data.SqlServerCe.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

Тип SqlCeResultSet обеспечивает доступ к следующим элементам.

Конструкторы

  Имя Описание
Защищенный метод SqlCeResultSet Важный элемент безопасности. Не используйте. Чтобы создать SqlCeResultSet, необходимо вызывать метод ExecuteResultSet(ResultSetOptions) объекта SqlCeCommand.

В начало

Свойства

  Имя Описание
Защищенное свойство ContainsListCollection Инфраструктура.
Открытое свойство Depth Возвращает значение, показывающее глубину вложенности для текущей строки. (унаследовано из SqlCeDataReader)
Открытое свойство FieldCount Возвращает число столбцов в предложении SELECT запроса. (унаследовано из SqlCeDataReader)
Открытое свойство HasRows Возвращает значение, указывающее на то, что в модуле чтения данных SqlCeDataReader содержится одна или несколько строк. (унаследовано из SqlCeDataReader)
Открытое свойство HiddenFieldCount Инфраструктура. (унаследовано из SqlCeDataReader)
Открытое свойство IsClosed Показывает, закрыт ли модуль чтения данных. (унаследовано из SqlCeDataReader)
Открытое свойство Item[Int32] Выполняет функцию индексатора для SqlCeResultSet. (Переопределяет SqlCeDataReader.Item[Int32].)
Открытое свойство Item[String] Выполняет функцию индексатора для SqlCeResultSet. (Переопределяет SqlCeDataReader.Item[String].)
Открытое свойство RecordsAffected Возвращает число строк, которые были изменены, вставлены или удалены инструкцией SQL. (унаследовано из SqlCeDataReader)
Открытое свойство ResultSetView Используется при привязке данных SqlCeResultSet с элементом управления.
Открытое свойство Scrollable Определяет, является ли объект SqlCeResultSet прокручиваемым.
Открытое свойство Sensitivity Определяет чувствительность SqlCeResultSet.
Открытое свойство Updatable Определяет, доступны ли значения в SqlCeResultSet для изменения.
Открытое свойство VisibleFieldCount (унаследовано из DbDataReader)

В начало

Методы

  Имя Описание
Открытый метод Close Закрывает объект SqlCeDataReader. (унаследовано из SqlCeDataReader)
Открытый метод CreateObjRef (унаследовано из MarshalByRefObject)
Открытый метод CreateRecord Создает на сервере новую строку и возвращает объект SqlCeUpdatableRecord.
Открытый метод Delete Удаляет текущую запись из источника данных на сервере.
Открытый метод Dispose() Инфраструктура. Освобождает ресурсы, используемые данным модулем чтения данных SqlCeDataReader. (унаследовано из SqlCeDataReader)
Защищенный метод Dispose(Boolean) Освобождает неуправляемые ресурсы, используемые классом SqlCeDataReader, и при необходимости освобождает управляемые ресурсы. (унаследовано из SqlCeDataReader)
Открытый метод Equals (унаследовано из Object)
Защищенный метод Finalize Освобождает неуправляемые ресурсы и выполняет другие операции очистки перед обработкой модуля чтения данных SqlCeDataReader сборщиком мусора. (унаследовано из SqlCeDataReader)
Открытый метод GetBoolean Возвращает значение столбца по указанному индексу в виде значения типа Boolean. (Переопределяет SqlCeDataReader.GetBoolean(Int32).)
Открытый метод GetByte Возвращает значение столбца по указанному индексу в виде значения типа byte. (Переопределяет SqlCeDataReader.GetByte(Int32).)
Открытый метод GetBytes Копирует длину байтов в буфер, начиная с указанного положения указанного поля. (Переопределяет SqlCeDataReader.GetBytes(Int32, Int64, array<Byte[], Int32, Int32).)
Открытый метод GetChar Не поддерживается поставщиком данных .NET Compact Framework для SQL Server Compact. (унаследовано из SqlCeDataReader)
Открытый метод GetChars Копирует в буфер строку символов указанной длины, начиная с заданной позиции указанного поля. (Переопределяет SqlCeDataReader.GetChars(Int32, Int64, array<Char[], Int32, Int32).)
Открытый метод GetData (унаследовано из DbDataReader)
Открытый метод GetDataTypeName Получает имя исходного типа данных. (унаследовано из SqlCeDataReader)
Открытый метод GetDateTime Возвращает значение столбца по указанному индексу в виде значения типа DateTime. (Переопределяет SqlCeDataReader.GetDateTime(Int32).)
Защищенный метод GetDbDataReader (унаследовано из DbDataReader)
Открытый метод GetDecimal Возвращает значение столбца по указанному индексу в виде значения типа Double. (Переопределяет SqlCeDataReader.GetDecimal(Int32).)
Открытый метод GetDouble Возвращает значение столбца по указанному индексу в виде значения типа Double. (Переопределяет SqlCeDataReader.GetDouble(Int32).)
Открытый метод GetEnumerator Возвращает объект IEnumerator, который может использоваться для просмотра строк в модуле чтения данных. (Переопределяет SqlCeDataReader.GetEnumerator().)
Открытый метод GetFieldType Возвращает значение Type, которое представляет тип данных объекта. (унаследовано из SqlCeDataReader)
Открытый метод GetFloat Возвращает значение столбца по указанному индексу в виде значения типа Float. (Переопределяет SqlCeDataReader.GetFloat(Int32).)
Открытый метод GetGuid Возвращает значение столбца по указанному индексу как значение типа GUID. (Переопределяет SqlCeDataReader.GetGuid(Int32).)
Открытый метод GetHashCode (унаследовано из Object)
Открытый метод GetInt16 Возвращает значение столбца по указанному индексу как значение типа Int16. (Переопределяет SqlCeDataReader.GetInt16(Int32).)
Открытый метод GetInt32 Возвращает значение столбца по указанному индексу как значение типа Int32. (Переопределяет SqlCeDataReader.GetInt32(Int32).)
Открытый метод GetInt64 Возвращает значение столбца по указанному индексу как значение типа Int64. (Переопределяет SqlCeDataReader.GetInt64(Int32).)
Открытый метод GetLifetimeService (унаследовано из MarshalByRefObject)
Защищенный метод GetList Возвращает экземпляр объекта ResultSetView.
Открытый метод GetName Возвращает имя заданного столбца. (унаследовано из SqlCeDataReader)
Открытый метод GetOrdinal Возвращает порядковый номер столбца, если известно его имя. (унаследовано из SqlCeDataReader)
Открытый метод GetProviderSpecificFieldType Возвращает объект Object, который представляет базовый тип поля, специфичный для поставщика. (унаследовано из SqlCeDataReader)
Открытый метод GetProviderSpecificValue (унаследовано из DbDataReader)
Открытый метод GetProviderSpecificValues (унаследовано из DbDataReader)
Открытый метод GetSchemaTable Возвращает объект DataTable, описывающий метаданные столбцов модуля чтения данных SqlCeDataReader. (унаследовано из SqlCeDataReader)
Открытый метод GetSqlBinary Возвращает значение столбца по указанному индексу как значение типа SqlBinary. (Переопределяет SqlCeDataReader.GetSqlBinary(Int32).)
Открытый метод GetSqlBoolean Возвращает значение столбца по указанному индексу как значение типа SqlBoolean. (Переопределяет SqlCeDataReader.GetSqlBoolean(Int32).)
Открытый метод GetSqlByte Возвращает значение столбца по указанному индексу как значение типа SqlByte. (Переопределяет SqlCeDataReader.GetSqlByte(Int32).)
Открытый метод GetSqlDateTime Возвращает значение столбца по указанному индексу как значение типа SqlDateTime. (Переопределяет SqlCeDataReader.GetSqlDateTime(Int32).)
Открытый метод GetSqlDecimal Возвращает значение столбца по указанному индексу как значение типа SqlDecimal. (Переопределяет SqlCeDataReader.GetSqlDecimal(Int32).)
Открытый метод GetSqlDouble Возвращает значение столбца по указанному индексу как значение типа SqlDouble. (Переопределяет SqlCeDataReader.GetSqlDouble(Int32).)
Открытый метод GetSqlGuid Возвращает значение столбца по указанному индексу как значение типа SqlGuid. (Переопределяет SqlCeDataReader.GetSqlGuid(Int32).)
Открытый метод GetSqlInt16 Возвращает значение столбца по указанному индексу как значение типа SqlInt16. (Переопределяет SqlCeDataReader.GetSqlInt16(Int32).)
Открытый метод GetSqlInt32 Возвращает значение столбца по указанному индексу как значение типа SqlInt32. (Переопределяет SqlCeDataReader.GetSqlInt32(Int32).)
Открытый метод GetSqlInt64 Возвращает значение столбца по указанному индексу как значение типа SqlInt64. (Переопределяет SqlCeDataReader.GetSqlInt64(Int32).)
Открытый метод GetSqlMetaData Возвращает метаданные, связанные с указанным столбцом.
Открытый метод GetSqlMoney Возвращает значение столбца по указанному индексу как значение типа SqlMoney. (Переопределяет SqlCeDataReader.GetSqlMoney(Int32).)
Открытый метод GetSqlSingle Возвращает значение столбца по указанному индексу как значение типа SqlSingle. (Переопределяет SqlCeDataReader.GetSqlSingle(Int32).)
Открытый метод GetSqlString Возвращает значение столбца по указанному индексу как значение типа SqlString. (Переопределяет SqlCeDataReader.GetSqlString(Int32).)
Открытый метод GetString Возвращает значение столбца по указанному индексу как значение типа String. (Переопределяет SqlCeDataReader.GetString(Int32).)
Открытый метод GetType (унаследовано из Object)
Открытый метод GetValue Возвращает значение указанного поля. (Переопределяет SqlCeDataReader.GetValue(Int32).)
Открытый метод GetValues Производит выборку массива всех полей для указанной записи. (Переопределяет SqlCeDataReader.GetValues(array<Object[]).)
Открытый метод InitializeLifetimeService (унаследовано из MarshalByRefObject)
Открытый метод Insert(SqlCeUpdatableRecord) Вставляет указанную SqlCeUpdatableRecord в базовый набор строк.
Открытый метод Insert(SqlCeUpdatableRecord, DbInsertOptions) Вставляет указанную строку SqlCeUpdatableRecord в базовый набор строк и определяет способ позиционирования курсора.
Защищенный метод IsCommandBehavior Определяет, совпадает ли объект CommandBehavior с поведением объекта SqlCeDataReader. (унаследовано из SqlCeDataReader)
Открытый метод IsDBNull Определяет, содержит ли поле по указанной позиции значение NULL. (Переопределяет SqlCeDataReader.IsDBNull(Int32).)
Открытый метод IsSetAsDefault Определяет, помечено ли поле по указанному индексу для использования значения по умолчанию базового объекта.
Защищенный метод MemberwiseClone() (унаследовано из Object)
Защищенный метод MemberwiseClone(Boolean) (унаследовано из MarshalByRefObject)
Открытый метод NextResult Не поддерживается поставщиком данных .NET Compact Framework для SQL Server Compact. (унаследовано из SqlCeDataReader)
Защищенный метод OnMove Инфраструктура. (Переопределяет SqlCeDataReader.OnMove().)
Открытый метод Read Перемещает модуль чтения данных SqlCeDataReader к следующей записи. (унаследовано из SqlCeDataReader)
Открытый метод ReadAbsolute Перемещает модуль чтения на определенную запись в ResultSet.
Открытый метод ReadFirst Позиционирует модуль чтения на первую запись в ResultSet.
Открытый метод ReadLast Позиционирует модуль чтения на последнюю запись в ResultSet.
Открытый метод ReadPrevious Позиционирует модуль чтения на запись, предшествующую текущей.
Открытый метод ReadRelative Перемещает модуль чтения на указанное число записей от текущей позиции.
Открытый метод Seek Позиционирует модуль чтения данных SqlCeDataReader на запись со значениями индекса, совпадающими с заданными параметрами. (унаследовано из SqlCeDataReader)
Открытый метод SetBoolean Присваивает указанному столбцу значение, равное переданному логическому значению Boolean.
Открытый метод SetByte Присваивает указанному столбцу значение, равное переданному байтовому Byte.
Открытый метод SetBytes Копирует указанное число байтов из указанного буфера в указанный столбец, начиная с заданной позиции в этом поле.
Открытый метод SetChar Присваивает указанному столбцу значение, равное переданному значению Char.
Открытый метод SetChars Копирует заданное число символов из указанного буфера в указанный столбец, начиная с заданной позиции в этом поле.
Открытый метод SetDateTime Присваивает указанному столбцу значение, равное переданному значению DateTime.
Открытый метод SetDecimal Присваивает указанному столбцу значение, равное переданному значению Decimal.
Открытый метод SetDefault Присваивает указанному столбцу значение, равное его значению по умолчанию.
Открытый метод SetDouble Присваивает указанному столбцу значение, равное переданному значению Double.
Открытый метод SetFloat Присваивает указанному столбцу значение, равное переданному значению Float.
Открытый метод SetGuid Присваивает указанному столбцу значение, равное переданному значению Guid.
Открытый метод SetInt16 Присваивает указанному столбцу значение, равное переданному значению Int16.
Открытый метод SetInt32 Присваивает указанному столбцу значение, равное переданному значению Int32.
Открытый метод SetInt64 Присваивает указанному столбцу значение, равное переданному значению Int64.
Открытый метод SetObjectRef Связывает объект со столбцом в указанной позиции.
Открытый метод SetSqlBinary Присваивает указанному столбцу значение, равное переданному значению SqlBinary.
Открытый метод SetSqlBoolean Присваивает указанному столбцу значение, равное переданному значению SqlBoolean.
Открытый метод SetSqlByte Присваивает указанному столбцу значение, равное переданному значению SqlByte.
Открытый метод SetSqlDateTime Присваивает указанному столбцу значение, равное переданному значению SqlDateTime.
Открытый метод SetSqlDecimal Присваивает указанному столбцу значение, равное переданному значению SqlDecimal.
Открытый метод SetSqlDouble Присваивает указанному столбцу значение, равное переданному значению SqlDouble.
Открытый метод SetSqlGuid Присваивает указанному столбцу значение, равное переданному значению SqlGuid.
Открытый метод SetSqlInt16 Присваивает указанному столбцу значение, равное переданному значению SqlInt16.
Открытый метод SetSqlInt32 Присваивает указанному столбцу значение, равное переданному значению SqlInt32.
Открытый метод SetSqlInt64 Присваивает указанному столбцу значение, равное переданному значению SqlInt64.
Открытый метод SetSqlMoney Присваивает указанному столбцу значение, равное переданному значению SqlMoney.
Открытый метод SetSqlSingle Присваивает указанному столбцу значение, равное переданному значению SqlSingle.
Открытый метод SetSqlString Присваивает указанному столбцу значение, равное переданному значению SqlString.
Открытый метод SetString Присваивает указанному столбцу значение, равное переданному значению String.
Открытый метод SetValue Присваивает указанному столбцу значение, равное переданному значению.
Открытый метод SetValues Присваивает каждому из полей в указанной записи значение, соответствующее значению в указанном массиве.
Открытый метод ToString (унаследовано из Object)
Открытый метод Update Отправляет изменения из текущей записи в базовую строку на сервере.

В начало

Явные реализации интерфейса

  Имя Описание
Явная реализация интерфейсаЗакрытое свойство IListSource.ContainsListCollection
Явная реализация интерфейсаЗакрытый метод IEnumerable.GetEnumerator
Явная реализация интерфейсаЗакрытый метод IListSource.GetList
Явная реализация интерфейсаЗакрытый метод IDataRecord.GetData (унаследовано из DbDataReader)

В начало

Замечания

В предыдущих версиях SQL Server Compact для связывания элементов управления с данными приходилось пользоваться классом DataSet. Хотя модуль чтения данных SqlCeDataReader позволяет добиться более высокой производительности по сравнению с классом DataSet, он реализует необновляемый курсор с последовательным доступом. В SQL Server Compact класс SqlCeResultSet обеспечивает две важные функции: обновляемость и прокручиваемость DataSet наряду с производительностью, аналогичной модулю чтения данных SqlCeDataReader.

Создание объекта SqlCeResultSet производится методом ExecuteResultSet, а не через конструктор объекта.

Объект ResultSetOptions позволяет задать прокручиваемость, обновляемость и чувствительность (последняя характеристика определяет, обнаруживает ли SqlCeResultSet изменения, внесенные им самим или другими объектами) объекта SqlCeResultSet.

По умолчанию модуль чтения данных SqlCeDataReader позиционируется перед первой записью. Чтобы начать доступ к данным, необходимо вызвать метод Read. При первом вызове Read курсор устанавливается на первую запись. Это поведение отличается от поведения метода SqlCeResultSet.Read. По умолчанию модуль чтения данных SqlCeResultSet позиционируется перед первой записью. Вызов метода SqlCeResultSet.Read сразу после создания SqlCeResultSet переместит курсор ко второй записи.

Примеры

В следующем примере создается новая база данных SQL Server Compact. Затем инициализируется 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();
}

Безопасность многопоточности

Все общие статические члены (Shared в Microsoft Visual Basic) этого типа можно использовать в потокобезопасных операциях. Потокобезопасная работа с членами экземпляров типа не гарантируется.

См. также

Справочник

Пространство имен System.Data.SqlServerCe