A disconnected recordset is a recordset which does not hold an active connection. A fabricated recordset can be viewed as a variation of a disconnected recordset. The variation in the fabricated recordset is that the connection is never established. You can use this type of ADO recordset object as a UDT.
Under normal circumstances, when the number of UDT objects you need to store increases, the complexity seek Algorithm and time fluctuates. But the fabricated recordset supports a large number of datatypes and the seek is optimized (thanks to the guys at Redmond).
Use the following code snippet to create a Fabricated recordset:
#import "C:\\Program Files\\Common Files\\System\\ado\\msado15.dll"
no_namespace named_guids rename("EOF" ,"adEOF")
HRESULT hr = CoInitialize(NULL);
hr = rs.CreateInstance(__uuidof(Recordset));
rs->CursorLocation = adUseClient;
hr = rs->Open(vtMissing,vtMissing,adOpenDynamic,adLockOptimistic,-1);
rs->Fields->GetItem("Empid")->Value = OLESTR("E001");
rs->Fields->GetItem("EmpName")->Value = OLESTR("Kaams");
rs->Fields->GetItem("EmpName")->Value = OLESTR("DevX");
//Perform Any other operations here.