CommandBehavior Перечисление

Определение

Предоставляет описание результатов запроса и его влияние на базу данных.

Это перечисление поддерживает побитовую комбинацию значений его членов.

public enum class CommandBehavior
[System.Flags]
public enum CommandBehavior
[<System.Flags>]
type CommandBehavior = 
Public Enum CommandBehavior
Наследование
CommandBehavior
Атрибуты

Поля

CloseConnection 32

При выполнении этой команды связанный объект Connection закрывается, когда закрывается связанный объект DataReader.

Default 0

Запрос может вернуть несколько наборов результатов. Выполнение запроса может повлиять на состояние базы данных. Поле Default не задает флаги CommandBehavior, поэтому вызов метода ExecuteReader(CommandBehavior.Default) функционально эквивалентен вызову метода ExecuteReader().

KeyInfo 4

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

SchemaOnly 2

Запрос возвращает только сведения о столбце. При использовании SchemaOnly поставщик данных .NET Framework для SQL Server предваряет оператор, выполняемый с параметром SET FMTONLY ON.

SequentialAccess 16

Содержит способ для DataReader для обработки строк, содержащих столбцы с большими двоичными значениями. Вместо загрузки всей строки, SequentialAccess позволяет DataReader загрузить данные как поток. Затем можно использовать метод GetBytes или метод GetChars, чтобы указать положение байта для начала операции чтения и ограниченный размер буфера для возврата данных.

SingleResult 1

Запрос возвращает один набор результатов.

SingleRow 8

Ожидается, что запрос вернет одну строку из первого набора результатов. Выполнение запроса может повлиять на состояние базы данных. Некоторые поставщики данных .NET могут, но не обязательно, использовать эту информацию для оптимизации производительности команды. При указании SingleRow с методом ExecuteReader() объекта OleDbCommand, поставщик данных .NET Framework для OLE DB выполняет привязку с помощью интерфейса IRow OLE DB, если он доступен. В обратном случае, используется интерфейс IRowset. Если оператор SQL должен вернуть только одну строку, рекомендуется указать SingleRow для повышения производительности приложения. Можно также указать SingleRow при выполнении запросов, которые должны возвращать несколько наборов результатов. В этом случае, если заданы и SQL-запрос с несколькими наборами результатом, и одна строка, возвращаемый результат будет содержать только первую строку первого набора результатов. Другие наборы результатов запроса не возвращаются.

Комментарии

Значения CommandBehavior используются методом ExecuteReader IDbCommand и любыми реализующими классами.

Можно использовать побитовое сочетание этих значений.

CommandBehavior игнорируется при использовании для определения SqlNotificationRequest или SqlDependency , следовательно, не следует использовать. Используйте конструктор, который не требует параметра CommandBehavior в этих двух случаях.

Заметки об отдельных элементах перечисления

При использовании KeyInfoпоставщик данных платформа .NET Framework для SQL Server предшествует выполнению инструкции и SET FMTONLY OFF SET NO_BROWSETABLE ON. Пользователь должен знать о потенциальных побочных эффектах, таких как вмешательство в использование инструкций SET FMTONLY ON . Дополнительные сведения см. в разделе SET FMTONLY (Transact-SQL).

Примечание

Используется для SequentialAccess извлечения больших значений и двоичных данных. OutOfMemoryException В противном случае может произойти и подключение будет закрыто.

При указании SequentialAccessнеобходимо считывать столбцы в том порядке, в который они возвращаются, хотя для чтения каждого столбца не требуется. После считывания расположения в возвращаемом потоке данных, данные в этом расположении больше не могут быть прочитаны из DataReaderнего. При использовании можно повторно прочитать текущее OleDbDataReaderзначение столбца, пока не будет прочитано его. При использовании значения столбца SqlDataReaderможно считать только один раз.

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