CommandBehavior 枚举

定义

提供查询结果及其对数据库的影响的说明。

此枚举支持其成员值的按位组合。

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

字段

CloseConnection 32

执行命令时,关闭关联的 DataReader 对象时,关联的 Connection 对象也会关闭。

Default 0

查询可能返回多个结果集。 执行查询可能会影响数据库状态。 Default 未设置 CommandBehavior 标志,因此调用 ExecuteReader(CommandBehavior.Default) 在功能上等效于调用 ExecuteReader()

KeyInfo 4

查询返回列和主键信息。 提供程序将额外的列附加到现有主键和时间戳列的结果集。

SchemaOnly 2

查询仅返回列信息。 使用 SchemaOnly 时,用于 SQL Server 的 .NET Framework 数据提供程序在要执行的语句前加上 SET FMTONLY ON。

SequentialAccess 16

提供一种方法,以便 DataReader 处理包含带有大型二进制值的列的行。 SequentialAccess 不是加载整行,而是使 DataReader 能够以数据流的加载数据。 然后可以使用 GetBytesGetChars 方法来指定开始读取操作的字节位置,以及正在返回的数据的有限缓冲区大小。

SingleResult 1

查询返回单个结果集。

SingleRow 8

查询应返回结果集中的单行。 执行查询可能会影响数据库状态。 某些 .NET 数据提供程序可能(但不需要)使用此信息来优化命令的性能。 使用 OleDbCommand 对象的 ExecuteReader() 方法指定 SingleRow 时,用于 OLE DB 的 .NET Framework 数据提供程序使用 OLE DB IRow 接口(如果可用)执行绑定。 否则,它使用 IRowset 接口。 如果期望 SQL 语句仅返回一行,则指定 SingleRow 也可提高应用程序性能。 执行应返回多个结果集的查询时,可指定 SingleRow。 在这种情况下,如果同时指定了多结果集 SQL 查询和单行,返回的结果仅包含第一个结果集的第一行。 不返回查询的其他结果集。

注解

这些 CommandBehavior 值由 ExecuteReader 方法 IDbCommand 以及任何实现类使用。

可以使用这些值的按位组合。

CommandBehavior 在用于定义 SqlNotificationRequestSqlDependency 不应使用时被忽略。 使用这两种情况下不需要 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时,只能读取列值一次。

适用于