CCustomRowset (CustomRS.H)

向导为行集对象生成一个条目。 在本例中,它称为 CCustomRowsetCCustomRowset 类继承自名为 CRowsetImpl 的 OLE DB 提供程序类,该类实现行集对象的所有必要接口。 以下代码显示 CRowsetImpl 的继承链:

template <class T, class Storage, class CreatorClass,
   class ArrayType = CAtlArray<Storage>>
class CMyRowsetImpl:
   public CRowsetImpl<T, Storage, CreatorClass, ArrayType,
      CSimpleRow, IRowsetLocateImpl< T >>

CRowsetImpl 还使用 IAccessorIColumnsInfo 接口。 它将这些接口用于表中的输出字段。 该类还提供了 IRowsetIdentity 的实现,使得使用者能够确定两行是否相同。 IRowsetInfo 接口实现行集对象的属性。 IConvertType 接口使提供程序能够解决使用者请求的数据类型与提供程序使用的数据类型之间的差异。

IRowset 接口实际上处理数据检索。 使用者首先调用一个名为 GetNextRows 的方法来返回一行的句柄,称为 HROW。 然后,使用者使用该 HROW 调用 IRowset::GetData 以检索请求的数据。

CRowsetImpl 还采用几个模板参数。 通过这些参数,可以确定 CRowsetImpl 类如何处理数据。 ArrayType 参数可用于确定用于存储行数据的存储机制。 RowClass 参数指定包含 HROW 的类

通过 RowsetInterface 参数还可以使用 IRowsetLocateIRowsetScroll 接口IRowsetLocateIRowsetScroll 接口都继承自 IRowset。 因此,OLE DB 提供程序模板必须为这些接口提供特殊处理。 如果要使用其中任何一个接口,都需要使用该参数。

另请参阅

提供程序向导生成的文件