Utilizzo delle raccolte

Una raccolta è un elenco di oggetti costruiti dalla stessa classe oggetto che condividono lo stesso oggetto padre. L'oggetto raccolta contiene sempre il nome del tipo di oggetto con il suffisso Collection. Per accedere ad esempio alle colonne di una tabella specificata, utilizzare il tipo di oggetto ColumnCollection. Questo tipo contiene tutti gli oggetti Column che appartengono allo stesso oggetto Table.

L'istruzione MicrosoftVisual BasicFor...Each o l'istruzione MicrosoftVisual C#foreach può essere utilizzata per scorrere ogni membro della raccolta.

Esempi

Per utilizzare qualsiasi esempio di codice fornito, è necessario scegliere l'ambiente di programmazione, il modello di programmazione e il linguaggio di programmazione per la creazione dell'applicazione. Per ulteriori informazioni, vedere "Procedura: Creare un progetto Visual Basic SMO in Visual Studio .NET" o "Procedura: Creare un progetto Visual C# SMO in Visual Studio .NET" nella documentazione online di SQL Server.

Riferimento a un oggetto tramite una raccolta in Visual Basic

In questo esempio di codice viene illustrato come impostare la proprietà di una colonna mediante le proprietà Columns, Tables e Databases. Queste proprietà rappresentano le raccolte che è possibile utilizzare per identificare un determinato oggetto quando sono utilizzate con un parametro che ne specifica il nome. Il nome e lo schema sono necessari per la proprietà dell'oggetto raccolta 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("AdventureWorks").Tables("Contact", "Person").Columns("LastName").Nullable = True
'Call the Alter method to make the change on the instance of SQL Server.
srv.Databases("AdventureWorks").Tables("Contact", "Person").Columns("LastName").Alter()

Riferimento a un oggetto tramite una raccolta in Visual C#

In questo esempio di codice viene illustrato come impostare la proprietà di una colonna mediante le proprietà Columns, Tables e Databases. Queste proprietà rappresentano le raccolte che è possibile utilizzare per identificare un determinato oggetto quando sono utilizzate con un parametro che ne specifica il nome. Il nome e lo schema sono necessari per la proprietà dell'oggetto della raccolta 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("AdventureWorks").Tables("Contact", "Person").Columns("LastName").Nullable = true; 
//Call the Alter method to make the change on the instance of SQL Server. 
srv.Databases("AdventureWorks").Tables("Contact", "Person").Columns("LastName").Alter(); 
}

Scorrimento dei membri di una raccolta in Visual Basic

In questo esempio di codice viene eseguito lo scorrimento della proprietà della raccolta Databases e vengono visualizzate tutte le connessioni di database all'istanza di 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)

Scorrimento dei membri di una raccolta in Visual C#

In questo esempio di codice viene eseguito lo scorrimento della proprietà della raccolta Databases e vengono visualizzate tutte le connessioni di database all'istanza di 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); 
}