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