OLE DB 表值参数类型支持(属性)
本主题提供有关与表值参数行集对象相关联的 OLE DB 属性和属性集的信息。
属性
下面是通过表值参数行集对象的 IRowsetInfo::GetPropeties 方法公开的属性列表。 请注意,所有表值参数行集属性都是只读的。 因此,尝试通过 IOpenRowset::OpenRowset 或 ITableDefinitionWithConstraints::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,分别表示升序或降序。 |