确定要使用的访问器类型

可以在编译时或运行时确定行集的数据类型。

如果需要在编译时确定数据类型,请使用静态取值函数(如 CAccessor)。

如果需要在运行时确定数据类型,请使用动态取值函数(CDynamicAccessor 或其子级)或手动取值函数 (CManualAccessor)。 在这种情况下,可以对行集调用 GetColumnInfo,以返回从中能确定类型的列绑定信息。

下表列出了使用者模板中提供的取值函数类型。 每种取值函数都有各自的优点和缺点。 应有一种取值函数类型能够满足你的需求,具体视情况而定。

访问器类 绑定 参数 注释
CAccessor 使用 COLUMN_ENTRY 宏创建用户记录。 宏将此记录中的数据成员绑定到取值函数。 在行集创建后,就无法解除绑定列。 是,通过使用 PARAM_MAP 宏条目。 一旦绑定,就无法解除绑定参数。 最快的取值函数,因为只有少量代码。
CDynamicAccessor 自动。 不是。 如果不知道行集的数据类型,便会发现此取值函数很有用。
CDynamicParameterAccessor 自动,但可以重写 是,前提是提供程序支持 ICommandWithParameters。 参数自动绑定。 CDynamicAccessor 慢,但对调用泛型存储过程很有用。
CDynamicStringAccessor[A,W] 自动。 不是。 将从数据存储中取值的数据作为字符串数据进行检索。
CManualAccessor 手动使用 AddBindEntry 手动使用 AddParameterEntry 快速;参数和列仅绑定一次。 你确定要使用的数据类型。 (有关示例,请参阅 DBVIEWER 示例。)需要比 CDynamicAccessorCAccessor 更多的代码。 这更像是直接调用 OLE DB。
CXMLAccessor 自动。 不是。 将从数据存储中取值的数据作为字符串数据进行检索,并将它格式化为 XML 标记的数据。

另请参阅

使用访问器