It is often useful to perform a series of operations on every specific object in a collection.
Use the Visual Basic For Each statement to iterate through all specific objects in a collection. For example:
For Each oDatabase in oSQLServer.Databases
Debug.Print oDatabase.Name
Next
You can use the GetCount and GetItemByOrd functions of a collection object to iterate through all specific objects in a collection. Use the following syntax for GetCount:
pObjects->GetCount ( &lCount );
For example:
LPSQLOLEDATABASES pDatabases;
LPSQLOLEDATABASE pDatabase;
long i, lCount;
pSQLServer->GetDatabases (&pDatabases);
pDatabases->GetCount (&lCount);
for (i = 0; i < lCount; i+)
{
pDatabases->GetItemByOrd (i, &pDatabase);
// use the specific pDatabase object
}
You can also use the GetObjectCount and GetObjectByOrd "shortcut" functions of the parent object to iterate through all specific objects in a collection. For example:
LPSQLOLEDATABASE pDatabase;
long i, lCount;
pSQLServer->GetDatabaseCount (&lCount);
for (i = 0; i < lCount; i+)
{
pSQLServer->GetDatabaseByOrd (i, &pDatabase);
// use the specific pDatabase object
}