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