CommandBehavior 列挙型

定義

クエリの結果と、データベースに対するその影響についての説明を提供します。Provides a description of the results of the query and its effect on the database.

この列挙体には FlagsAttribute 属性があり、そのメンバー値のビットごとの組み合わせが可能になります。

public enum class CommandBehavior
[System.Flags]
public enum CommandBehavior
[<System.Flags>]
type CommandBehavior = 
Public Enum CommandBehavior
継承
CommandBehavior
属性

フィールド

CloseConnection 32

コマンドが実行された場合、関連付けられている DataReader オブジェクトが閉じられたときに、関連付けられている Connection オブジェクトが閉じられます。When the command is executed, the associated Connection object is closed when the associated DataReader object is closed.

Default 0

クエリで複数の結果セットが返される場合があります。The query may return multiple result sets. クエリの実行により、データベース状態に影響が及ぶことがあります。Execution of the query may affect the database state. DefaultCommandBehavior フラグを設定しないので、ExecuteReader(CommandBehavior.Default) の呼び出しは、機能的には ExecuteReader() の呼び出しと同じです。Default sets no CommandBehavior flags, so calling ExecuteReader(CommandBehavior.Default) is functionally equivalent to calling ExecuteReader().

KeyInfo 4

クエリでは列と主キーの情報が返されます。The query returns column and primary key information. プロバイダーによって、既存の主キーおよびタイムスタンプ列の結果セットに列が追加されます。The provider appends extra columns to the result set for existing primary key and timestamp columns.

SchemaOnly 2

クエリでは列情報のみが返されます。The query returns column information only. SchemaOnly を使用している場合、SQL Server 用 .NET Framework データ プロバイダーは実行するステートメントの前に SET FMTONLY ON を指定します。When using SchemaOnly, the .NET Framework Data Provider for SQL Server precedes the statement being executed with SET FMTONLY ON.

SequentialAccess 16

DataReader が大きなバイナリ値が格納されている列を含む行を処理できるようにします。Provides a way for the DataReader to handle rows that contain columns with large binary values. SequentialAccess を使用すると、DataReader は行全体を読み込むのではなく、ストリームとしてデータを読み込むことができます。Rather than loading the entire row, SequentialAccess enables the DataReader to load data as a stream. その後、GetBytes メソッドまたは GetChars メソッドを使用して、読み込み動作を開始するバイト位置、返すデータの制限付きバッファー サイズを指定できます。You can then use the GetBytes or GetChars method to specify a byte location to start the read operation, and a limited buffer size for the data being returned.

SingleResult 1

クエリは、単一の結果セットを返します。The query returns a single result set.

SingleRow 8

クエリは、最初の結果セットの単一行を返すと想定されます。The query is expected to return a single row of the first result set. クエリの実行により、データベース状態に影響が及ぶことがあります。Execution of the query may affect the database state. 一部の .NET Framework データ プロバイダーではこの情報を使用してコマンドのパフォーマンスを最適化することもできますが、この情報の使用は必須ではありません。Some .NET Framework data providers may, but are not required to, use this information to optimize the performance of the command. OleDbCommand オブジェクトの ExecuteReader() メソッドで SingleRow を指定すると、OLE DB IRow インターフェイスが使用できる場合、OLE DB 用 .NET Framework データ プロバイダーはこのインターフェイスを使用してバインドを実行します。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. 複数の結果セットを返すことが予期されるクエリを実行する場合は、SingleRow を指定できます。It is possible to specify SingleRow when executing queries that are expected to return multiple result sets. その場合、複数の結果セットの SQL クエリと単一行の両方が指定されていると、返される結果には最初の結果セットの 1 行目のみが含まれます。In that case, where both a multi-result set SQL query and single row are specified, the result returned will contain only the first row of the first result set. クエリの他の結果セットは返されません。The other result sets of the query will not be returned.

注釈

値は、 CommandBehavior ExecuteReader のメソッドと任意の実装クラスによって使用され IDbCommand ます。The CommandBehavior values are used by the ExecuteReader method of IDbCommand and any implementing classes.

これらの値のビット演算の組み合わせを使用できます。A bitwise combination of these values may be used.

CommandBehaviorまたはを定義するために使用される場合は無視され SqlNotificationRequest SqlDependency ます。したがって、は使用されません。CommandBehavior is ignored when used to define a SqlNotificationRequest or SqlDependency and should therefore not be used. この2つのケースでは、パラメーターを必要としないコンストラクターを使用し CommandBehavior ます。Use the constructor that does not require a CommandBehavior parameter in these two cases.

個々の列挙型のメンバーに関する注意事項Notes on individual enumeration members

を使用する場合 KeyInfo 、SQL Server の .NET Framework Data Provider は、とを使用して実行されるステートメントの前に置かれ SET FMTONLY OFF SET NO_BROWSETABLE ON ます。When using KeyInfo, the .NET Framework Data Provider for SQL Server precedes the statement being executed with SET FMTONLY OFF and SET NO_BROWSETABLE ON. ユーザーは、ステートメントの使用による干渉など、潜在的な副作用に注意する必要があり SET FMTONLY ON ます。The user should be aware of potential side effects, such as interference with the use of SET FMTONLY ON statements. 詳細については、「SET FMTONLY (Transact-SQL)」をご覧ください。For more information, see SET FMTONLY (Transact-SQL).

注意

SequentialAccess大きい値とバイナリデータを取得するには、を使用します。Use SequentialAccess to retrieve large values and binary data. それ以外の場合は、が OutOfMemoryException 発生し、接続が閉じられます。Otherwise, an OutOfMemoryException might occur and the connection will be closed.

を指定する場合は SequentialAccess 、列から返される順序で列を読み取る必要がありますが、各列を読み取る必要はありません。When you specify SequentialAccess, you are required to read from the columns in the order they are returned, although you are not required to read each column. 返されたデータストリーム内の位置を読み取った後は、その場所またはその前のデータをから読み取ることができなくなり DataReader ます。Once you have read past a location in the returned stream of data, data at or before that location can no longer be read from the DataReader. を使用する場合は、 OleDbDataReader 現在の列の値を読み取るまで再度読み取ることができます。When using the OleDbDataReader, you can reread the current column value until reading past it. を使用する場合 SqlDataReader 、列の値を1回だけ読み取ることができます。When using the SqlDataReader, you can read a column value only once.

適用対象