MDAC 2.5 SDK - OLE DB Providers
OLE DB Provider for SQL Server
SQLOLEDB can return multiple rowsets from Microsoft® SQL Server™ statements. SQL Server statements return multiple-rowset results under the following conditions:
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.
SQL Server returns a result set for each statement in a stored procedure, so most SQL Server stored procedures return multiple result sets.
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.