使用手动访问器
当处理未知命令时要做四项操作:
确定参数
执行命令
确定输出列
查看是否有多个返回行集合
若要用 OLE DB 使用者模板实现此目标,请使用 CManualAccessor 类并遵循以下步骤:
打开一个 CCommand 对象,并将 CManualAccessor 用作模板参数。
CCommand<CManualAccessor, CRowset, CMultipleResults> rs;
查询会话中的 IDBSchemaRowset 接口,并使用过程参数行集合。 如果 IDBSchemaRowset 接口不可用,则查询 ICommandWithParameters 接口。 调用 GetParameterInfo 以获取信息。 如果两个接口都不可用,则可以假定没有参数。
对于每个参数,调用 AddParameterEntry 以添加参数并对其进行设置。
打开行集合,但要将绑定参数设置为 false。
调用 GetColumnInfo 以检索输出列。 使用 AddBindEntry 将输出列添加到绑定中。
调用 GetNextResult 以确定是否有更多的可用行集合。 重复步骤 2 到 5。
有关手动访问器的示例,请参见 DBVIEWER 示例中的 CDBListView::CallProcedure。