MDAC 2.5 SDK - OLE DB Programmer's Reference
Chapter 1: Overview of OLE DB
A command object is a container for a text command. In OLE DB, a text command is a string to be passed from a consumer to a provider's data source object for execution by the provider's underlying data store. Most commonly, the text command is an SQL SELECT statement. If the text command is an SQL SELECT statement, the command object becomes a factory for a rowset. (A single session object may be able to create multiple commands.) A command object holds a text command and any command properties to be requested from the provider. Command properties are properties that either control execution of the command or, if executing the command causes a rowset to be created, affect the behavior of the resulting rowset.
Command objects expose various interfaces representing different areas of functionality of a query processor, including query formulation, preparation, and execution. For example, if a command object exposes the ICommandWithParameters interface, the command object can support dynamic parameters in addition to a text command and command properties.