OleDbCommand.ExecuteReader Метод

Определение

Отправляет свойство CommandText свойству Connection и создает объект OleDbDataReader.Sends the CommandText to the Connection and builds an OleDbDataReader.

Перегрузки

ExecuteReader()

Отправляет свойство CommandText свойству Connection и создает объект OleDbDataReader.Sends the CommandText to the Connection and builds an OleDbDataReader.

ExecuteReader(CommandBehavior)

Отправляет CommandText в Connection и создает OleDbDataReader, используя одно из значений CommandBehavior.Sends the CommandText to the Connection, and builds an OleDbDataReader using one of the CommandBehavior values.

ExecuteReader()

Отправляет свойство CommandText свойству Connection и создает объект OleDbDataReader.Sends the CommandText to the Connection and builds an OleDbDataReader.

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

Возвраты

Исключения

Не удается выполнить команду в контексте транзакции, отличающемся от контекста, в котором подключение было изначально зарегистрировано.Cannot execute a command within a transaction context that differs from the context in which the connection was originally enlisted.

Примеры

В следующем примере создается OleDbCommand, а затем выполняется передача строки, которая является инструкцией SQL SELECT, и строка, используемая для подключения к источнику данных.The following example creates an OleDbCommand, and then executes it by passing a string that is an SQL SELECT statement, and a string to use to connect to the data source.

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 должно быть присвоено имя хранимой процедуры.When the CommandType property is set to StoredProcedure, the CommandText property should be set to the name of the stored procedure. Команда выполняет эту хранимую процедуру при вызове ExecuteReader.The command executes this stored procedure when you call ExecuteReader.

Перед закрытием OleDbConnectionсначала закройте объект OleDbDataReader.Before you close the OleDbConnection, first close the OleDbDataReader object. Кроме того, необходимо закрыть объект OleDbDataReader, если планируется повторно использовать объект OleDbCommand.You must also close the OleDbDataReader object if you plan to reuse an OleDbCommand object.

Дополнительно

ExecuteReader(CommandBehavior)

Отправляет CommandText в Connection и создает OleDbDataReader, используя одно из значений CommandBehavior.Sends the CommandText to the Connection, and builds an OleDbDataReader using one of the CommandBehavior values.

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
Public Function ExecuteReader (behavior As CommandBehavior) As OleDbDataReader

Параметры

behavior
CommandBehavior

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

Возвраты

Исключения

Не удается выполнить команду в контексте транзакции, отличающемся от контекста, в котором подключение было изначально зарегистрировано.Cannot execute a command within a transaction context that differs from the context in which the connection was originally enlisted.

Примеры

В следующем примере создается OleDbCommand, а затем выполняется передача строки, которая является инструкцией Transact-SQL SELECT, и строка, используемая для подключения к источнику данных.The following example creates an OleDbCommand, and then executes it by passing a string that is a Transact-SQL SELECT statement, and a string to use to connect to the data source. Параметру CommandBehavior задается значение CloseConnection.CommandBehavior is set to 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

Комментарии

При указании SingleRow с помощью метода ExecuteReader объекта OleDbCommand .NET Framework поставщик данных для OLE DB выполняет привязку с помощью интерфейса OLE DB IRow , если он доступен.When you specify SingleRow with the ExecuteReader method of the OleDbCommand object, the .NET Framework Data Provider for OLE DB performs binding using the OLE DB IRow interface if it is available. В противном случае используется интерфейс IRowset .Otherwise, it uses the IRowset interface. Если оператор SQL должен вернуть только одну строку, рекомендуется указать SingleRow для повышения производительности приложения.If your SQL statement is expected to return only a single row, specifying SingleRow can also improve application performance.

Если свойство CommandType имеет значение StoredProcedure, то свойству CommandText должно быть присвоено имя хранимой процедуры.When the CommandType property is set to StoredProcedure, the CommandText property should be set to the name of the stored procedure. Команда выполняет эту хранимую процедуру при вызове ExecuteReader.The command executes this stored procedure when you call ExecuteReader.

OleDbDataReader поддерживает Специальный режим, позволяющий эффективно считывать большие двоичные значения.The OleDbDataReader supports a special mode that enables large binary values to be read efficiently. Дополнительные сведения см. в описании параметра SequentialAccess для CommandBehavior.For more information, see the SequentialAccess setting for CommandBehavior.

Перед закрытием OleDbConnectionсначала закройте объект OleDbDataReader.Before you close the OleDbConnection, first close the OleDbDataReader object. Кроме того, необходимо закрыть объект OleDbDataReader, если планируется повторно использовать объект OleDbCommand.You must also close the OleDbDataReader object if you plan to reuse an OleDbCommand object. Если OleDbDataReader создается с CommandBehavior установлен в значение CloseConnection, закрытие OleDbDataReader автоматически закрывает подключение.If the OleDbDataReader is created with CommandBehavior set to CloseConnection, closing the OleDbDataReader closes the connection automatically.

Дополнительно

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