Share via


Command Object Interfaces

The following table shows the mandatory and optional interfaces defined by OLE DB for a command object.

Interface

Required?

Implemented by OLE DB templates?

IAccessor

Mandatory

Yes

IColumnsInfo

Mandatory

Yes

ICommand

Mandatory

Yes

ICommandProperties

Mandatory

Yes

ICommandText

Mandatory

Yes

IConvertType

Mandatory

Yes

IColumnsRowset

Optional

No

ICommandPersist

Optional

No

ICommandPrepare

Optional

No

ICommandWithParameters

Optional

No

ISupportErrorInfo

Optional

No

ICommandStream

Optional

No

The command object uses the IAccessor to specify parameter bindings. The consumer calls IAccessor::CreateAccessor, passing it an array of DBBINDING structures. DBBINDING contains information about the column bindings (such as type and length). The provider receives the structures and determines how the data should be transferred and whether conversions are necessary.

The ICommandText interface provides a way to specify a text command. The ICommandProperties interface handles all the command properties.

See Also

Concepts

The OLE DB Provider Template Architecture