コレクションは、同じオブジェクト クラスから構築され、同じ親オブジェクトを共有するオブジェクトのリストです。 コレクション オブジェクトには、常にコレクション サフィックスを持つオブジェクト型の名前が含まれます。 たとえば、指定したテーブル内の列にアクセスするには、 ColumnCollection オブジェクト型を使用します。 同じTable オブジェクトに属するすべてのColumn オブジェクトが含まれます。
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);
}