Метод SqlCeCommand.ExecuteReader (CommandBehavior)

Передает команду CommandText соединению Connection и создает экземпляр SqlCeDataReader с одним из значений CommandBehavior.

Пространство имен:  System.Data.SqlServerCe
Сборка:  System.Data.SqlServerCe (в System.Data.SqlServerCe.dll)

Синтаксис

'Декларация
Public Function ExecuteReader ( _
    behavior As CommandBehavior _
) As SqlCeDataReader
'Применение
Dim instance As SqlCeCommand
Dim behavior As CommandBehavior
Dim returnValue As SqlCeDataReader

returnValue = instance.ExecuteReader(behavior)
public SqlCeDataReader ExecuteReader(
    CommandBehavior behavior
)
public:
SqlCeDataReader^ ExecuteReader(
    CommandBehavior behavior
)
member ExecuteReader : 
        behavior:CommandBehavior -> SqlCeDataReader 
public function ExecuteReader(
    behavior : CommandBehavior
) : SqlCeDataReader

Параметры

Возвращаемое значение

Тип: System.Data.SqlServerCe.SqlCeDataReader
Объект SqlCeDataReader.

Исключения

Исключение Условие
InvalidOperationException

Не удается выполнить команду в контексте транзакции, который отличается от контекста, в котором первоначально было прикреплено соединение.

Замечания

Объект SqlCeDataReader поддерживает специальный режим, который обеспечивает возможность эффективного чтения больших значений типа binary. Дополнительные сведения см. в параметре SequentialAccess для класса CommandBehavior.

Если SqlCeDataReader занят, то связанное соединение SqlCeConnection занято обслуживанием SqlCeDataReader. В этом состоянии, пока не будет вызван метод Close класса SqlCeDataReader, с объектом SqlCeConnection можно выполнить только операцию Close.

Примеры

В следующем примере создается объект SqlCeCommand, а затем команда выполняется с передачей инструкции SELECT и объекта SqlCeConnection. Свойству CommandBehavior присваивается значение CloseConnection.

Dim conn As New SqlCeConnection(connString)
Dim cmd As New SqlCeCommand("SELECT * FROM myTable", conn)

cmd.Connection.Open()
Dim rdr As SqlCeDataReader = Nothing

Try
    ' Execute the reader; make sure you alway close the 
    ' reader after you're done using it (ideally in the finally block)
    '
    rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)

    While rdr.Read()
        Console.WriteLine(rdr.GetString(0))
    End While
Finally
    ' Closing the reader will also close the associated connection
    '
    rdr.Close()
End Try
SqlCeConnection conn = new SqlCeConnection(connString);
SqlCeCommand cmd = new SqlCeCommand("SELECT * FROM myTable", conn);

cmd.Connection.Open();
SqlCeDataReader rdr = null;

try
{
    // Execute the reader; make sure you alway close the 
    // reader after you're done using it (ideally in the finally block)
    //
    rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

    while (rdr.Read())
    {
        Console.WriteLine(rdr.GetString(0));
    }
}
finally
{
    // Closing the reader will also close the associated connection
    //
    rdr.Close();
}

См. также

Справочник

SqlCeCommand Класс

Перегрузка ExecuteReader

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