MDAC 2.5 SDK - OLE DB Providers
OLE DB Provider for SQL Server


 

Commands Generating Multiple-Rowset Results

SQLOLEDB can return multiple rowsets from Microsoft® SQL Server™ statements. SQL Server statements return multiple-rowset results under the following conditions:

Batches

SQLOLEDB recognizes the semicolon character as a batch delimiter for SQL statements, as in the following example:

WCHAR*       wSQLString = L"SELECT * FROM Categories; "
                           L"SELECT * FROM Products";

Sending multiple SQL statements in one batch is more efficient than executing each SQL statement separately. Sending one batch reduces the number of network round-trips from the client to the server.

Stored Procedures

SQL Server returns a result set for each statement in a stored procedure, so most SQL Server stored procedures return multiple result sets.

COMPUTE BY and COMPUTE

The Transact-SQL COMPUTE BY clause generates subtotals within a SELECT statement result set. The COMPUTE clause generates a total at the end of the result set. SQLOLEDB returns each COMPUTE BY subtotal and the COMPUTE total as a separate rowset result.