OLE DB 表值参数类型支持(属性)

本主题提供有关与表值参数行集对象相关联的 OLE DB 属性和属性集的信息。

属性

下面是通过表值参数行集对象的 IRowsetInfo::GetPropeties 方法公开的属性列表。请注意,所有表值参数行集属性都是只读的。因此,尝试通过 IOpenRowset::OpenRowsetITableDefinitionWithConstraints::CreateTableWithConstraints 方法将任何属性设置为非默认值都将导致错误,并且将不会创建任何对象。

在此处未列出在表值参数行集对象中未实现的属性。有关属性的完整列表,请参阅 Windows 数据访问组件中的 OLE DB 文档。

属性 ID

DBPROP_ABORTPRESERVE

VARIANT_TRUE

DBPROP_ACCESSORDER

DBPROPVAL_AO_RANDOM

DBPROP_BLOCKINGSTORAGEOBJECTS

VARIANT_TRUE

DBPROP_BOOKMARKS

DBPROP_LITERALBOOKMARKS

R/W:只读

默认值:VARIANT_FALSE

说明:在表值参数行集对象上不允许书签。

DBPROP_BOOKMARKSKIPPED

VARIANT_FALSE

DBPROP_BOOKMARKTYPE

DBPROPVAL_BMK_NUMERIC

DBPROP_CANHOLDROWS

VARIANT_FALSE

DBPROP_CHANGEINSERTEDROWS

VARIANT_TRUE

DBPROP_COLUMNRESTRICT

VARIANT_FALSE

DBPROP_COMMANDTIMEOUT

0

DBPROP_COMMITPRESERVE

VARIANT_TRUE

DBPROP_DEFERRED

VARIANT_FALSE

DBPROP_DELAYSTORAGEOBJECTS

VARIANT_FALSE

DBPROP_IAccessor

DBPROP_IColumnsInfo

DBPROP_IConvertType

DBPROP_IRowset

DBPROP_IRowsetInfo,

DBPROP_IColumnsRowset

VARIANT_TRUE

DBPROP_IConnectionPointContainer

DBPROP_IMultipleResults

DBPROP_IRowsetUpdate

DBPROP_IRowsetIdentity

DBPROP_IRowsetLocate

DBPROP_IRowsetScroll

DBPROP_IRowsetResynch

VARIANT_FALSE

DBPROP_IRowsetChange

VARIANT_TRUE

注意:表值参数行集对象支持 IRowsetChange 接口。

通过使用 DBPROP_IRowsetChange 等于 VARIANT_TRUE 而创建的行集将展现立即更新模式行为。

但是,如果 BLOB 列绑定为 ISequentialStream 对象,则使用者应该在该表值参数行集对象的整个生存期中保持它们。

DBPROP_ISupportErrorInfo

VARIANT_TRUE

DBPROP_ISequentialStream

VARIANT_TRUE

DBPROP_IMMOBILEROWS

VARIANT_TRUE

DBPROP_LITERALIDENTITY

VARIANT_TRUE

DBPROP_LOCKMODE

DBPROPVAL_LM_NONE

DBPROP_MAXOPENROWS

0

DBPROP_MAXPENDINGROWS

0

DBPROP_MAXROWS

0

DBPROP_NOTIFICATIONPHASES

0

DBPROP_NOTIFYCOLUMNSET DBPROP_NOTIFYROWDELETE DBPROP_NOTIFYROWFIRSTCHANGE DBPROP_NOTIFYROWINSERT DBPROP_NOTIFYROWRESYNCH DBPROP_NOTIFYROWSETRELEASE DBPROP_NOTIFYROWSETFETCH-POSITIONCHANGE DBPROP_NOTIFYROWUNDOCHANGE DBPROP_NOTIFYROWUNDODELETE DBPROP_NOTIFYROWUNDOINSERT DBPROP_NOTIFYROWUPDATE

0

DBPROP_OTHERINSERT DBPROP_OTHERUPDATEDELETE

VARIANT_FALSE

DBPROP_OWNINSERT

DBPROP_OWNUPDATEDELETE

VARIANT_TRUE

DBPROP_QUICKRESTART

VARIANT_TRUE

DBPROP_REENTRANTEVENTS

VARIANT_FALSE

DBPROP_REMOVEDELETED

VARIANT_TRUE

DBPROP_RETURNPENDINGINSERTS

VARIANT_TRUE

DBPROP_ROWRESTRICT

VARIANT_FALSE

DBPROP_ROWTHREADMODEL

DBPROPVAL_RT_FREETHREAD

DBPROP_SERVERCURSOR

VARIANT_FALSE

DBPROP_SERVERDATAONINSERT

VARIANT_FALSE

DBPROP_STRONGIDENTITY

VARIANT_TRUE

DBPROP_TRANSACTEDOBJECT

VARIANT_FALSE

DBPROP_UNIQUEROWS

VARIANT_FALSE

DBPROP_UPDATABILITY

DBPROPVAL_UP_CHANGE | DBPROPVAL_UP_DELETE | DBPROPVAL_UP_INSERT

属性集

以下属性集支持表值参数。

DBPROPSET_SQLSERVERCOLUMN

在通过 DBCOLUMNDESC 结构(如果需要)为每一列使用 ITableDefinitionWithConstraints::CreateTableWithConstraints 来创建表值参数行集对象的过程中,使用者将使用此属性。

属性 ID

属性值

SSPROP_COL_COMPUTED

R/W:读/写

默认值:VARIANT_FALSE

类型:VT_BOOL

说明:在设置为 VARIANT_TRUE 时,指示该列是计算列。VARIANT_FALSE 指示它不是计算列。

DBPROPSET_SQLSERVERPARAMETER

这些属性由使用者在对 ISSCommandWithParamters::GetParameterProperties 的调用中发现表值参数类型信息时读取,并且由使用者在通过 ISSCommandWithParameters::SetParameterProperties 设置有关表值参数的特定属性时设置。

下表详细说明了这些属性。

属性 ID

属性值

SSPROP_PARAM_TYPE_TYPENAME

R/W:读/写

默认值:VT_EMPTY

类型:VT_BSTR

说明:使用者使用此属性获取或设置表值参数类型的名称。

此属性还可以用于 CLR 用户定义类型。

可以选择指定此属性,以便为表值参数提供表类型名称(在 ODBC 调用语法命令的情况下)。此属性是即席参数化 SQL 查询所必需的。

SSPROP_PARAM_TYPE_SCHEMANAME

R/W:读/写

默认值:VT_EMPTY

类型:VT_BSTR

说明:使用者使用此属性获取或设置表值参数类型的架构名称。

此属性还可以用于 CLR 用户定义类型。

SSPROP_PARAM_TYPE_CATALOGNAME

R/W:只读

默认值:VT_EMPTY

类型:VT_BSTR

说明:使用者使用此属性获取表值参数类型的目录名称。

此属性还可以用于 CLR 用户定义类型。设置此属性是错误的;用户定义表类型必须与使用它们的表值参数处于同一数据库中。

SSPROP_PARAM_TABLE_DEFAULT_COLUMNS

R/W:读/写

默认值:VT_EMPTY

类型:VT_UI2 | VT_ARRAY

说明:使用者使用此属性指定行集中哪些列集要视作默认值。将不为这些列发送值。在从使用者行集对象提取数据时,提供程序不要求对此类列的绑定。

数组中的每个元素都应是行集对象中某一列的序号。无效的序号将导致在执行命令时发生错误。

SSPROP_PARAM_TABLE_COLUMN_ORDER

R/W:读/写

默认值:VT_EMPTY

类型:VT_UI2 | VT_ARRAY

说明:使用者使用此属性向服务器提供提示,以便指出列数据的排序顺序。提供程序不执行任何验证,并且假定使用者符合已提供的规范。服务器使用此属性执行优化。

每一列的列顺序信息均由数组中的一对元素表示。该元素对中的第一个元素是列的编号。该元素对中的第二个元素将是 1 或 2,分别表示升序或降序。