CommandBehavior 열거형

정의

쿼리 결과 및 데이터베이스에 미치는 영향에 대한 설명을 제공합니다.

이 열거형은 멤버 값의 비트 조합을 지원합니다.

public enum class CommandBehavior
[System.Flags]
public enum CommandBehavior
[<System.Flags>]
type CommandBehavior = 
Public Enum CommandBehavior
상속
CommandBehavior
특성

필드

Name Description
Default 0

쿼리는 여러 결과 집합을 반환할 수 있습니다. 쿼리를 실행하면 데이터베이스 상태에 영향을 줄 수 있습니다. Default 는 플래그를 설정하지 CommandBehavior 않으므로 호출 ExecuteReader(CommandBehavior.Default) 은 기능적으로 호출 ExecuteReader()과 동일합니다.

SingleResult 1

쿼리는 단일 결과 집합을 반환합니다.

SchemaOnly 2

쿼리는 열 정보만 반환합니다. SchemaOnly 사용하는 경우 SQL Server 대한 .NET Framework Data Provider SET FMTONLY ON으로 실행되는 문 앞에 섰습니다.

KeyInfo 4

쿼리는 열 및 기본 키 정보를 반환합니다. 공급자는 기존 기본 키 및 타임스탬프 열에 대한 결과 집합에 추가 열을 추가합니다.

SingleRow 8

쿼리는 첫 번째 결과 집합의 단일 행을 반환해야 합니다. 쿼리를 실행하면 데이터베이스 상태에 영향을 줄 수 있습니다. 일부 .NET 데이터 공급자는 이 정보를 사용하여 명령의 성능을 최적화할 수 있지만 필요하지는 않습니다. SingleRow 개체의 ExecuteReader() 메서드로 OleDbCommand 지정하면 OLE DB용 .NET Framework Data Provider 사용 가능한 경우 OLE DB IRow 인터페이스를 사용하여 바인딩을 수행합니다. 그렇지 않으면 인터페이스를 IRowset 사용합니다. SQL 문이 단일 행만 반환해야 하는 경우 지정하면 SingleRow 애플리케이션 성능도 향상될 수 있습니다. 여러 결과 집합을 반환해야 하는 쿼리를 실행할 때 지정할 SingleRow 수 있습니다. 이 경우 다중 결과 집합 SQL 쿼리와 단일 행이 모두 지정된 경우 반환된 결과에는 첫 번째 결과 집합의 첫 번째 행만 포함됩니다. 쿼리의 다른 결과 집합은 반환되지 않습니다.

SequentialAccess 16

이진 값이 DataReader 큰 열을 포함하는 행을 처리하는 방법을 제공합니다. 전체 행 SequentialAccess 을 로드하는 대신 데이터를 스트림으로 로드할 수 있습니다 DataReader . 그런 다음, 또는 GetBytes 메서드를 사용하여 GetChars 바이트 위치를 지정하여 읽기 작업을 시작하고 반환되는 데이터에 대해 제한된 버퍼 크기를 지정할 수 있습니다.

CloseConnection 32

명령을 실행하면 연결된 개체가 닫혀 있으면 연결된 ConnectionDataReader 개체가 닫힙니다.

설명

CommandBehaviorExecuteReader 메서드와 모든 구현 클래스에서 IDbCommand 값이 사용됩니다.

이러한 값의 비트 조합을 사용할 수 있습니다.

CommandBehaviorSqlNotificationRequestSqlDependency를 정의할 때 무시되므로 사용하지 않아야 합니다. 이 두 경우에서 매개 변수가 CommandBehavior 필요하지 않은 생성자를 사용합니다.

개별 열거형 멤버에 대한 참고 사항

KeyInfo를 사용할 때, .NET Framework Data Provider for SQL Server는 실행 중인 문 앞에 SET FMTONLY OFFSET NO_BROWSETABLE ON를 추가합니다. 사용자는 SET FMTONLY ON 문 사용에 대한 간섭과 같은 잠재적인 부작용을 알고 있어야 합니다. 자세한 내용은 SET FMTONLY(Transact-SQL)를 참조하세요.

메모

큰 값과 이진 데이터를 검색하는 데 사용합니다 SequentialAccess . 그렇지 않으면 OutOfMemoryException 발생할 수 있으며 연결이 닫힙니다.

SequentialAccess를 지정한 경우, 각 열을 읽을 필요는 없지만, 반환된 순서대로 열에서 읽어야 합니다. 반환된 데이터 스트림에서 지점을 지나서 읽은 후에는 해당 지점의 데이터나 그 이전의 데이터를 더 이상 읽을 수 없습니다DataReader. OleDbDataReader를 사용할 때, 현재 열 값을 초과하여 읽을 때까지 해당 값을 다시 읽을 수 있습니다. 이 SqlDataReader값을 사용하는 경우 열 값을 한 번만 읽을 수 있습니다.

적용 대상