Fetching a Single Row Using IRow
IRow interface implementation in SQLOLEDB is simplified to increase performance. IRow allows direct access to columns of a single row object. If you know ahead of time that the result of a command execution will produce exactly one row, IRow will retrieve the columns of that row. If the result set includes multiple rows, IRow will expose only the first row.
IRow implementation does not allow any navigation of the row. Each column in the row is accessed only once, with one exception: a column can be accessed twice, once to find the column size, and again to fetch the data.
IRow::Open supports only DBGUID_STREAM and DBGUID_NULL type of objects to be opened.
To obtain a row object using Icommand::Execute, method IID_IRow must be passed.
IMultipleResults must be used to handle multiple result sets. IMultipleResults supports IRow and IRowset. IRowset is used for bulk operations.