CRowsetImpl 类

提供标准 OLE DB 行集合,而无需实现许多实现多个接口继承。

template <
   class T,
   class Storage,
   class CreatorClass,
   class ArrayType = CAtlArray<Storage>, 
   class RowClass = CSimpleRow, 
   class RowsetInterface = IRowsetImpl < T, IRowset > 
>
class CRowsetImpl :  
   public CComObjectRootEx<CreatorClass::_ThreadModel>, 
   public CRowsetBaseImpl<T, Storage, ArrayType, RowsetInterface>, 
   public IRowsetInfoImpl<T, CreatorClass::_PropClass>

参数

  • T
    CRowsetImpl派生的用户的类。

  • Storage
    用户记录类。

  • CreatorClass
    包含行集合属性的类;典型命令。

  • ArrayType
    将行集合数据的存储空间中的类。 此参数默认为 CAtlArray,但也可以是必需,支持功能的任何类。

成员

方法

NameFromDBID

DBID 的字符串并将它传递的 bstr。

SetCommandText

验证和存储在两字符串的 DBIDm_strCommandText (和)。m_strIndexText

可重写的方法

GetColumnInfo

检索特定客户端请求的列信息。

GetCommandFromID

检查任何一个或者两个参数是否包含字符串值,如果可用,将字符串值转换为数据成员和 m_strCommandTextm_strIndexText

ValidateCommandID

检查任何一个或者两个 DBID数组是否包含字符串值,如果可用,将其复制到其数据成员和 m_strCommandTextm_strIndexText

数据成员

m_rgRowData

默认情况下,在用户记录模板参数 templatizes 为 CRowsetImplCAtlArray。 其他数组类类型可以通过更改 CRowsetImpl的 ArrayType 模板参数使用。

m_strCommandText

包含行集合的第的命令。

m_strIndexText

包含行集合的起始索引。

备注

以静态的向上转换后的形式中,CRowsetImpl 提供的重写。 方法控制特定行集将验证命令文本。 您可以通过将多继承的接口实现您自己的 CRowsetImpl样式类。 必须提供实现的唯一方法为 执行。 根据类型的行集合,可以创建 Creator 方法将需要 执行不同的签名。 例如,在中,如果使用 CRowsetImpl- 实现的派生类架构行集合,则 执行 方法将具有以下签名:

HRESULT Execute(LONG* pcRows, ULONG cRestrictions, const VARIANT* rgRestrictions)

如果创建 CRowsetImpl- 实现的派生类命令或会话的行集合,则 执行 方法将具有以下签名:

HRESULT Execute(LONG* pcRows, DBPARAMS* pParams)

实现任意 CRowsetImpl派生的 执行 方法,您必须亲自填充:,其中填充内部数据缓冲区 ()。m_rgRowData

要求

页眉: atldb.h