コレクションとは、同じオブジェクト クラスから作成された、同じ親オブジェクトを持つオブジェクトのリストのことです。 コレクション オブジェクトには、Collection サフィックス付きのオブジェクトの種類の名前が必ず含まれています。 たとえば、指定されたテーブル内の列にアクセスするには、ColumnCollection というオブジェクトの種類を使用します。 これには、同じ Column オブジェクトに属するすべての Table オブジェクトが含まれます。
Microsoft Visual Basic For...Each
ステートメントまたは Microsoft Visual C# foreach
ステートメントを使用して、コレクションの各メンバーを反復処理できます。
例
提供されているコード例を使用するには、アプリケーションを作成するプログラミング環境、プログラミング テンプレート、およびプログラミング言語を選択する必要があります。 詳細については、SQL Server オンライン ブックの「Visual Studio .NET で Visual Basic SMO プロジェクトを作成する方法」および「Visual Studio .NET で Visual C# SMO プロジェクトを作成する方法」を参照してください。
Visual Basic でのコレクションを使用したオブジェクトの参照
このコード例では、Columns プロパティ、Tables プロパティ、および Databases プロパティを使用して、列プロパティを設定する方法を示します。 これらのプロパティはコレクションを表現しており、オブジェクトの名前を指定するパラメーターと共に使用すれば、特定のオブジェクトを識別するために使用できます。 Tables コレクション オブジェクト プロパティには、名前とスキーマが必要です。
Visual C# でのコレクションを使用したオブジェクトの参照
このコード例では、Columns プロパティ、Tables プロパティ、および Databases プロパティを使用して、列プロパティを設定する方法を示します。 これらのプロパティはコレクションを表現しており、オブジェクトの名前を指定するパラメーターと共に使用すれば、特定のオブジェクトを識別するために使用できます。 Tables コレクション オブジェクト プロパティには、名前とスキーマが必要です。
{
//Connect to the local, default instance of SQL Server.
Server srv;
srv = new Server();
//Modify a property using the Databases, Tables, and Columns collections to reference a column.
srv.Databases("AdventureWorks2012").Tables("Person", "Person").Columns("LastName").Nullable = true;
//Call the Alter method to make the change on the instance of SQL Server.
srv.Databases("AdventureWorks2012").Tables("Person", "Person").Columns("LastName").Alter();
}
Visual Basic でのコレクションのメンバーの反復処理
このコード例では、コレクション プロパティをDatabases反復処理し、SQL Serverのインスタンスに対するすべてのデータベース接続を表示します。
Visual C# でのコレクションのメンバーの反復処理
このコード例では、コレクション プロパティをDatabases反復処理し、SQL Serverのインスタンスに対するすべてのデータベース接続を表示します。
//Connect to the local, default instance of SQL Server.
{
Server srv = default(Server);
srv = new Server();
int count = 0;
int total = 0;
//Iterate through the databases and call the GetActiveDBConnectionCount method.
Database db = default(Database);
foreach ( db in srv.Databases) {
count = srv.GetActiveDBConnectionCount(db.Name);
total = total + count;
//Display the number of connections for each database.
Console.WriteLine(count + " connections on " + db.Name);
}
//Display the total number of connections on the instance of SQL Server.
Console.WriteLine("Total connections =" + total);
}