CommandBehavior 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供查询结果及其对数据库的影响的说明。
此枚举支持其成员值的按位组合。
public enum class CommandBehavior
[System.Flags]
public enum CommandBehavior
[<System.Flags>]
type CommandBehavior =
Public Enum CommandBehavior
- 继承
- 属性
字段
| 名称 | 值 | 说明 |
|---|---|---|
| Default | 0 | 查询可能会返回多个结果集。 执行查询可能会影响数据库状态。
|
| 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 |
| SequentialAccess | 16 | 提供一种处理 |
| CloseConnection | 32 | 执行命令时,关联 |
注解
这些 CommandBehavior 值被 ExecuteReader 及其任何实现类的 IDbCommand 方法使用。
可以使用这些值的按位组合。
CommandBehavior 在定义 SqlNotificationRequest 或 SqlDependency 时将被忽略,因此不应使用。 使用这两种情况下不需要 CommandBehavior 参数的构造函数。
有关单个枚举成员的说明
使用 KeyInfo 时,用于 SQL Server 的 .NET Framework 数据提供程序会在执行语句前添加 SET FMTONLY OFF 和 SET NO_BROWSETABLE ON。 用户应注意潜在的副作用,例如影响对 SET FMTONLY ON 语句的使用。 有关详细信息,请参阅 SET FMTONLY (Transact-SQL)。
注释
使用 SequentialAccess 检索大值和二进制数据。 否则,可能会发生 OutOfMemoryException,并且连接将关闭。
指定 SequentialAccess时,需要按照返回列的顺序从列读取,但不需要读取每个列。 在返回的数据流中读过某个位置后,该位置或之前的数据将无法再从该 DataReader位置读取。 使用 OleDbDataReader 时,可以重新读取当前列值,直到读过值为止。 使用 SqlDataReader时,只能读取列值一次。