Verwenden von Auflistungen
Eine Auflistung ist eine Liste von Objekten, die aus der gleichen Objektklasse gebildet wurden und über dasselbe übergeordnete Objekt verfügen. Das Auflistungsobjekt enthält immer den Namen des Objekttyps mit dem Suffix Collection. Um beispielsweise auf die Spalten einer gegebenen Tabelle zuzugreifen, verwenden Sie den ColumnCollection-Objekttyp. Er enthält alle Column-Objekte, die zum gleichen Table-Objekt gehören.
Mit der Microsoft Visual BasicFor...Each-Anweisung oder der Microsoft Visual C#foreach-Anweisung können die einzelnen Elemente der Auflistung durchlaufen werden.
Beispiele
Um die bereitgestellten Codebeispiele verwenden zu können, müssen Sie die Programmierumgebung, die Programmiervorlage und die Programmiersprache wählen, in der die Anwendung erstellt werden soll. Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation unter "Vorgehensweise: Erstellen eines Visual Basic SMO-Projekts in Visual Studio .NET" oder "Vorgehensweise: Erstellen eines Visual C# SMO-Projekts in Visual Studio .NET".
Verweisen auf ein Objekt mithilfe einer Auflistung in Visual Basic
Dieses Codebeispiel zeigt, wie eine Spalteneigenschaft mithilfe der Eigenschaften Columns, Tables und Databases festgelegt wird. Diese Eigenschaften repräsentieren Auflistungen, mit denen ein bestimmtes Objekt identifiziert werden kann, wenn sie mit einem Parameter verwendet werden, der den Namen des Objekts angibt. Der Name und das Schema sind für die Tables-Auflistungsobjekteigenschaft erforderlich.
'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("AdventureWorks2008R2").Tables("Person", "Person").Columns("ModifiedDate").Nullable = True
'Call the Alter method to make the change on the instance of SQL Server.
srv.Databases("AdventureWorks2008R2").Tables("Person", "Person").Columns("ModifiedDate").Alter()
Verweisen auf ein Objekt mithilfe einer Auflistung in Visual C#
Dieses Codebeispiel zeigt, wie eine Spalteneigenschaft mithilfe der Eigenschaften Columns, Tables und Databases festgelegt wird. Diese Eigenschaften repräsentieren Auflistungen, mit denen ein bestimmtes Objekt identifiziert werden kann, wenn sie mit einem Parameter verwendet werden, der den Namen des Objekts angibt. Der Name und das Schema sind für die Tables Auflistungsobjekteigenschaft erforderlich.
{
//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("AdventureWorks2008R2").Tables("Person", "Person").Columns("LastName").Nullable = true;
//Call the Alter method to make the change on the instance of SQL Server.
srv.Databases("AdventureWorks2008R2").Tables("Person", "Person").Columns("LastName").Alter();
}
Durchlaufen der Elemente einer Auflistung in Visual Basic
In diesem Codebeispiel wird die Databases-Auflistungseigenschaft durchlaufen, und anschließend werden alle Datenbankverbindungen mit der Instanz von SQL Server angezeigt.
'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)
Durchlaufen der Elemente einer Auflistung in Visual C#
In diesem Codebeispiel wird die Databases-Auflistungseigenschaft durchlaufen, und anschließend werden alle Datenbankverbindungen mit der Instanz von SQL Server angezeigt.
//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);
}