CommandBehavior 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供查詢結果的描述及其對資料庫的影響。
此列舉支援其成員值的位元組合。
public enum class CommandBehavior
[System.Flags]
public enum CommandBehavior
[<System.Flags>]
type CommandBehavior =
Public Enum CommandBehavior
- 繼承
- 屬性
欄位
| 名稱 | 值 | Description |
|---|---|---|
| Default | 0 | 查詢可能會回傳多個結果集。 查詢的執行可能會影響資料庫狀態。
|
| SingleResult | 1 | 查詢會回傳單一的結果集。 |
| SchemaOnly | 2 | 查詢僅回傳欄位資訊。 使用 SchemaOnly 時,SQL Server 的 .NET Framework Data Provider會在執行語句前,並啟用 SET FMTONLY ON。 |
| KeyInfo | 4 | 查詢會回傳欄位和主鍵資訊。 提供者會在結果集中附加額外的欄位,以處理現有的主鍵與時間戳記欄位。 |
| SingleRow | 8 | 查詢預期會回傳第一個結果集的一列。 查詢的執行可能會影響資料庫狀態。 部分 .NET 資料提供者可能會(但非強制)利用這些資訊來優化指令的效能。 當你用 SingleRow 物件的 ExecuteReader() 方法指定 OleDbCommand 時,.NET Data Provider Framework for OLE DB 會使用 OLE DB |
| SequentialAccess | 16 | 提供一種處理包含大二進位欄位的列的方法 |
| CloseConnection | 32 | 當指令執行時,關聯 |
備註
CommandBehavior的值將被ExecuteReader的方法及任何實作類別使用IDbCommand。
您可以使用這些值的位元組合。
CommandBehavior 在用來定義 SqlNotificationRequest 或 SqlDependency 時會忽略 ,因此不應使用 。 在這兩種情況下,請使用不需要 CommandBehavior 參數的建構函式。
個別列舉成員的注意事項
使用 KeyInfo 時,.NET Framework for SQL Server 的資料提供者會先使用 SET FMTONLY OFF 和 SET NO_BROWSETABLE ON,然後執行語句。 用戶應該注意潛在的副作用,例如干擾語句的使用 SET FMTONLY ON 。 如需詳細資訊,請參閱 SET FMTONLY (Transact-SQL)。
Note
使用 SequentialAccess 來擷取大型值和二進位數據。 否則, OutOfMemoryException 可能會發生 ,而且連接將會關閉。
當您指定 SequentialAccess時,您必須依傳回的順序從數據行讀取,不過您不需要讀取每個數據行。 一旦您在傳回的數據流中讀取過某個位置之後,該位置上的 或 之前的數據就無法再從 DataReader讀取。 使用 OleDbDataReader 時,您可以重複讀取目前的欄位值,直到讀取完成為止。 使用 SqlDataReader時,您只能讀取資料行值一次。