Usar colecciones
Una colección es una lista de objetos construidos desde la misma clase de objeto y que comparten el mismo objeto primario. El objeto de colección contiene siempre el nombre del tipo de objeto con el sufijo Collection. Por ejemplo, para tener acceso a las columnas de una tabla determinada, use el tipo de objeto ColumnCollection. Contiene todos los objetos Column que pertenecen al mismo objeto Table.
La instrucción For...Each de Microsoft Visual Basic o la instrucción foreach de Microsoft Visual C# pueden usarse para recorrer en iteración todos los miembros de la colección.
Ejemplos
Para utilizar cualquier ejemplo de código que se proporcione, deberá elegir el entorno de programación, la plantilla de programación y el lenguaje de programación en los que crear su aplicación. Para obtener más información, vea "Cómo crear un proyecto de Visual Basic SMO en Visual Studio .NET" o "Cómo crear un proyecto de Visual C# SMO en Visual Studio .NET" en los Libros en pantalla de SQL Server.
Hacer referencia a un objeto mediante una colección en Visual Basic
En este ejemplo de código se muestra cómo establecer una propiedad de columna mediante las propiedades Columns, Databases y Tables. Estas propiedades representan colecciones que se pueden usar para identificar un objeto determinado cuando se usan con un parámetro que especifica el nombre del objeto. El nombre y el esquema son necesarios para la propiedad de objeto de colección Tables.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Modify a property using the Databases, Tables, and Columns collections to reference a column.
srv.Databases("AdventureWorks2012").Tables("Person", "Person").Columns("ModifiedDate").Nullable = True
'Call the Alter method to make the change on the instance of SQL Server.
srv.Databases("AdventureWorks2012").Tables("Person", "Person").Columns("ModifiedDate").Alter()
Hacer referencia a un objeto mediante una colección en Visual C#
En este ejemplo de código se muestra cómo establecer una propiedad de columna mediante las propiedades Columns, Databases y Tables. Estas propiedades representan colecciones que se pueden usar para identificar un objeto determinado cuando se usan con un parámetro que especifica el nombre del objeto. El nombre y el esquema son necesarios para la propiedad de objeto de colección 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();
}
Recorrer en iteración los miembros de una colección en Visual Basic
En este ejemplo de código se recorre en iteración la propiedad de colección Databases y se muestran todas las conexiones a bases de datos de la instancia de SQL Server.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
Dim count As Integer
Dim total As Integer
'Iterate through the databases and call the GetActiveDBConnectionCount method.
Dim db As Database
For Each 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)
Next
'Display the total number of connections on the instance of SQL Server.
Console.WriteLine("Total connections =" & total)
Recorrer en iteración los miembros de una colección en Visual C#
En este ejemplo de código se recorre en iteración la propiedad de colección Databases y se muestran todas las conexiones a bases de datos de la instancia de 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);
}