Creating Rowsets with ICommand::Execute
Applies to:
SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
For rowsets created by using the ICommand::Execute method, the properties that you want in the resulting rowset can constrain the text of the command. This is especially critical for consumers that support dynamic command text.
The OLE DB Driver for SQL Server cannot use Microsoft SQL Server cursors to support the multiple-rowset results generated by many commands. If a consumer requests a rowset requiring SQL Server cursor support, an error occurs if the command text generates more than a single rowset as its result. For more information, see Commands Generating Multiple-Rowset Results.
Scrollable OLE DB Driver for SQL Server rowsets are supported by SQL Server cursors. SQL Server imposes limitations on cursors that are sensitive to changes made by other users of the database. Specifically, the rows in some cursors cannot be ordered, and trying to create a rowset by using a command that contains an SQL ORDER BY clause can fail. For more information, see Rowsets and SQL Server Cursors.