次の方法で共有


コレクションの使用

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

このコード例では、 ColumnsTables、および Databases プロパティを使用して列プロパティを設定する方法を示します。 これらのプロパティはコレクションを表します。コレクションは、オブジェクトの名前を指定するパラメーターと共に使用される場合に、特定のオブジェクトを識別するために使用できます。 Tables コレクション オブジェクト プロパティには、名前とスキーマが必要です。

Visual C でコレクションを使用してオブジェクトを参照する#

このコード例では、 ColumnsTables、および 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);   
}