Поделиться через


OleDbCommand.ExecuteReader Метод

Определение

Отправляет свойство CommandText свойству Connection и создает объект OleDbDataReader.

Перегрузки

ExecuteReader()

Отправляет свойство CommandText свойству Connection и создает объект OleDbDataReader.

ExecuteReader(CommandBehavior)

Отправляет CommandText в Connection и создает OleDbDataReader, используя одно из значений CommandBehavior.

ExecuteReader()

Исходный код:
OleDbCommand.cs
Исходный код:
OleDbCommand.cs

Отправляет свойство CommandText свойству Connection и создает объект OleDbDataReader.

public:
 System::Data::OleDb::OleDbDataReader ^ ExecuteReader();
public System.Data.OleDb.OleDbDataReader ExecuteReader ();
override this.ExecuteReader : unit -> System.Data.OleDb.OleDbDataReader
member this.ExecuteReader : unit -> System.Data.OleDb.OleDbDataReader
Public Function ExecuteReader () As OleDbDataReader

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

Объект OleDbDataReader.

Исключения

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

Примеры

В следующем примере создается OleDbCommand, а затем выполняется путем передачи строки, которая является инструкцией SQL SELECT, и строки, используемой для подключения к источнику данных.

public void CreateReader(string connectionString, string queryString)
{
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        OleDbCommand command = new OleDbCommand(queryString, connection);
        connection.Open();
        OleDbDataReader reader = command.ExecuteReader();

        while (reader.Read())
        {
            Console.WriteLine(reader[0].ToString());
        }
        reader.Close();
    }
}
Public Sub CreateReader(ByVal connectionString As String, _
    ByVal queryString As String)

    Using connection As New OleDbConnection(connectionString)
        Dim command As New OleDbCommand(queryString, connection)

        connection.Open()

        Dim reader As OleDbDataReader = command.ExecuteReader()
        While reader.Read()
            Console.WriteLine(reader(0).ToString())
        End While
        reader.Close()
    End Using
End Sub

Комментарии

Если свойству CommandType присвоено значение StoredProcedure, свойству CommandText должно быть присвоено имя хранимой процедуры. Команда выполняет эту хранимую процедуру при вызове ExecuteReader.

Прежде чем закрыть OleDbConnection, сначала закройте OleDbDataReader объект . Кроме того, необходимо закрыть объект , OleDbDataReader если планируется повторное использование OleDbCommand объекта .

См. также раздел

Применяется к

ExecuteReader(CommandBehavior)

Исходный код:
OleDbCommand.cs
Исходный код:
OleDbCommand.cs

Отправляет CommandText в Connection и создает OleDbDataReader, используя одно из значений CommandBehavior.

public:
 System::Data::OleDb::OleDbDataReader ^ ExecuteReader(System::Data::CommandBehavior behavior);
public System.Data.OleDb.OleDbDataReader ExecuteReader (System.Data.CommandBehavior behavior);
override this.ExecuteReader : System.Data.CommandBehavior -> System.Data.OleDb.OleDbDataReader
member this.ExecuteReader : System.Data.CommandBehavior -> System.Data.OleDb.OleDbDataReader
Public Function ExecuteReader (behavior As CommandBehavior) As OleDbDataReader

Параметры

behavior
CommandBehavior

Одно из значений перечисления CommandBehavior.

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

Объект OleDbDataReader.

Исключения

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

Примеры

В следующем примере создается OleDbCommand, а затем выполняется путем передачи строки, которая является инструкцией Transact-SQL SELECT, и строки, используемой для подключения к источнику данных. Параметру CommandBehavior задается значение CloseConnection.

public void CreateMyOleDbDataReader(string queryString,string connectionString)
{
   OleDbConnection connection = new OleDbConnection(connectionString);
   OleDbCommand command = new OleDbCommand(queryString, connection);
   connection.Open();
   OleDbDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
   while(reader.Read())
   {
      Console.WriteLine(reader.GetString(0));
   }
   reader.Close();
   //Implicitly closes the connection because CommandBehavior.CloseConnection was specified.
}
Public Sub CreateMyOleDbDataReader(queryString As String, _
    connectionString As String)
    Dim connection As New OleDbConnection(connectionString)
    Dim command As New OleDbCommand(queryString, connection)
    connection.Open()
    Dim reader As OleDbDataReader = command.ExecuteReader(CommandBehavior.CloseConnection)
    While reader.Read()
        Console.WriteLine(reader.GetString(0))
    End While
    reader.Close()
    'Implicitly closes the connection because CommandBehavior.CloseConnection was specified.
 End Sub

Комментарии

При указании SingleRowExecuteReaderOleDbCommand с помощью метода объекта поставщик данных платформа .NET Framework для OLE DB выполняет привязку с помощью интерфейса OLE DB IRow, если он доступен. В противном случае используется интерфейс IRowset . Если оператор SQL должен вернуть только одну строку, рекомендуется указать SingleRow для повышения производительности приложения.

Если свойству CommandType присвоено значение StoredProcedure, свойству CommandText должно быть присвоено имя хранимой процедуры. Команда выполняет эту хранимую процедуру при вызове ExecuteReader.

поддерживает OleDbDataReader специальный режим, позволяющий эффективно считывать большие двоичные значения. Дополнительные сведения см. в параметре SequentialAccess для CommandBehavior.

Прежде чем закрыть OleDbConnection, сначала закройте OleDbDataReader объект . Кроме того, необходимо закрыть объект , OleDbDataReader если планируется повторное использование OleDbCommand объекта . OleDbDataReader Если создается с CommandBehavior параметром , то CloseConnectionпри закрытии OleDbDataReader соединение закрывается автоматически.

См. также раздел

Применяется к