Aufrufen von Methoden

Methoden führen bestimmte Tasks aus, die sich auf das Objekt beziehen, wie z. B. die Ausgabe eines Checkpoint in einer Datenbank oder die Anforderung einer Aufzählungsliste mit Anmeldungen für die Instanz von MicrosoftSQL Server.

Methoden führen Vorgänge an Objekten aus. Methoden können Parameter enthalten, und sie verfügen häufig über einen Rückgabewert. Bei dem Rückgabewert kann es sich um einen einfachen Datentyp, ein komplexes Objekt oder eine Struktur handeln, die mehrere Elemente enthält.

Mithilfe der Ausnahmebehandlung können Sie feststellen, ob die Methode erfolgreich war. Weitere Informationen finden Sie unter Behandeln von SMO-Ausnahmen.

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".

Verwenden einer einfachen SMO-Methode in Visual Basic

In diesem Beispiel nimmt die Create-Methode keine Parameter entgegen und hat keinen Rückgabewert.

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Define a Database object variable by supplying the parent server and the database name arguments in the constructor.
Dim db As Database
db = New Database(srv, "Test_SMO_Database")
'Call the Create method to create the database on the instance of SQL Server. 
db.Create()

Verwenden einer einfachen SMO-Methode in Visual C#

In diesem Beispiel nimmt die Create-Methode keine Parameter entgegen und hat keinen Rückgabewert.

{ 
//Connect to the local, default instance of SQL Server. 
Server srv; 
srv = new Server(); 
//Define a Database object variable by supplying the parent server and the database name arguments in the constructor. 
Database db; 
db = new Database(srv, "Test_SMO_Database"); 
//Call the Create method to create the database on the instance of SQL Server. 
db.Create(); 

}

Verwenden einer SMO-Methode mit einem Parameter in Visual Basic

Das Table-Objekt verfügt über die Methode RebuildIndexes. Diese Methode benötigt einen numerischen Parameter, der den FillFactor angibt.

Dim srv As Server
srv = New Server
Dim tb As Table
tb = srv.Databases("AdventureWorks").Tables("Employee", "HumanResources")
tb.RebuildIndexes(70)

Verwenden einer SMO-Methode mit einem Parameter in Visual C#

Das Table-Objekt verfügt über die Methode RebuildIndexes. Diese Methode benötigt einen numerischen Parameter, der den FillFactor angibt.

{ 
Server srv = default(Server); 
srv = new Server(); 
Table tb = default(Table); 
tb = srv.Databases("AdventureWorks").Tables("Employee", "HumanResources"); 
tb.RebuildIndexes(70); 
} 

Verwenden einer Enumerationsmethode in Visual Basic, die ein "DataTable"-Objekt zurückgibt

In diesem Abschnitt wird beschrieben, wie eine Enumerationsmethode aufgerufen wird und wie die Daten im zurückgegebenen DataTable-Objekt behandelt werden.

Die EnumCollations-Methode gibt ein DataTable-Objekt zurück, für das weitere Navigation erforderlich ist, auf alle verfügbaren Sortierungsinformationen zu der Instanz von SQL Server zuzugreifen.

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Call the EnumCollations method and return collation information to DataTable variable.
Dim d As DataTable
'Select the returned data into an array of DataRow.
d = srv.EnumCollations
'Iterate through the rows and display collation details for the instance of SQL Server.
Dim r As DataRow
Dim c As DataColumn
For Each r In d.Rows
    Console.WriteLine("============================================")
    For Each c In r.Table.Columns
        Console.WriteLine(c.ColumnName + " = " + r(c).ToString)
    Next
Next

Verwenden einer Enumerationsmethode in Visual C#, die ein "DataTable"-Objekt zurückgibt

In diesem Abschnitt wird beschrieben, wie eine Enumerationsmethode aufgerufen wird und wie die Daten im zurückgegebenen DataTable-Objekt behandelt werden.

Die EnumCollations-Methode gibt ein DataTable-Systemobjekt zurück. Um auf alle verfügbaren Sortierungsinformationen zur Instanz von SQL Server zuzugreifen, ist das DataTable-Objekt ist weitere Navigation erforderlich.

//Connect to the local, default instance of SQL Server. 
{ 
Server srv = default(Server); 
srv = new Server(); 
//Call the EnumCollations method and return collation information to DataTable variable. 
DataTable d = default(DataTable); 
//Select the returned data into an array of DataRow. 
d = srv.EnumCollations; 
//Iterate through the rows and display collation details for the instance of SQL Server. 
DataRow r = default(DataRow); 
DataColumn c = default(DataColumn); 
foreach ( r in d.Rows) { 
  Console.WriteLine("====================================="); 
  foreach ( c in r.Table.Columns) { 
    Console.WriteLine(c.ColumnName + " = " + r(c).ToString); 
  } 
} 
} 

Erstellen eines Objekts in Visual Basic

Der Konstruktor eines Objekts kann mit dem New-Operator aufgerufen werden. Der Database-Objektkonstruktor ist überladen, und die im Beispiel verwendete Version des Database-Objektkonstruktors nimmt zwei Parameter entgegen: das übergeordnete Server-Objekt, zu dem die Datenbank gehört, und eine Zeichenfolge, die den Namen der neuen Datenbank darstellt.

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Declare and define a Database object by supplying the parent server and the database name arguments in the constructor.
Dim d As Database
d = New Database(srv, "Test_SMO_Database")
'Create the database on the instance of SQL Server.
d.Create()
Console.WriteLine(d.Name)

Erstellen eines Objekts in Visual C#

Der Konstruktor eines Objekts kann mit dem New-Operator aufgerufen werden. Der Database-Objektkonstruktor ist überladen, und die im Beispiel verwendete Version des Database-Objektkonstruktors nimmt zwei Parameter entgegen: das übergeordnete Server-Objekt, zu dem die Datenbank gehört, und eine Zeichenfolge, die den Namen der neuen Datenbank darstellt.

{ 
Server srv; 
srv = new Server(); 
Table tb; 
tb = srv.Databases("AdventureWorks").Tables("Employee", "HumanResources"); 
tb.RebuildIndexes(70); 
//Connect to the local, default instance of SQL Server. 
Server srv; 
srv = new Server(); 
//Declare and define a Database object by supplying the parent server and the database name arguments in the constructor. 
Database d; 
d = new Database(srv, "Test_SMO_Database"); 
//Create the database on the instance of SQL Server. 
d.Create(); 
Console.WriteLine(d.Name); 
}

Kopieren eines SMO-Objekts in Visual Basic

In diesem Beispiel wird die Copy-Methode zum Erstellen einer Kopie des Server-Objekts verwendet. Das Server-Objekt stellt eine Verbindung mit einer Instanz von SQL Server her.

'Connect to the local, default instance of SQL Server.
Dim srv1 As Server
srv1 = New Server()
'Modify the default database and the timeout period for the connection.
srv1.ConnectionContext.DatabaseName = "AdventureWorks"
srv1.ConnectionContext.ConnectTimeout = 30
'Make a second connection using a copy of the ConnectionContext property and verify settings.
Dim srv2 As Server
srv2 = New Server(srv1.ConnectionContext.Copy)
Console.WriteLine(srv2.ConnectionContext.ConnectTimeout.ToString)

Kopieren eines SMO-Objekts in Visual C#

In diesem Beispiel wird die Copy-Methode zum Erstellen einer Kopie des Server-Objekts verwendet. Das Server-Objekt stellt eine Verbindung mit einer Instanz von SQL Server her.

{ 
//Connect to the local, default instance of SQL Server. 
Server srv1; 
srv1 = new Server(); 
//Modify the default database and the timeout period for the connection. 
srv1.ConnectionContext.DatabaseName = "AdventureWorks"; 
srv1.ConnectionContext.ConnectTimeout = 30; 
//Make a second connection using a copy of the ConnectionContext property and verify settings. 
Server srv2; 
srv2 = new Server(srv1.ConnectionContext.Copy); 
Console.WriteLine(srv2.ConnectionContext.ConnectTimeout.ToString); 
}

Überwachen von Serverprozessen in Visual Basic

Informationen zum aktuellen Statustyp der Instanz von SQL Server können Sie über Enumerationsmethoden abrufen. Im Beispielcode wird die EnumProcesses-Methode zum Ermitteln von Informationen zu den aktuellen Prozessen verwendet. Dieses Beispiel zeigt auch, wie mit den Spalten und Zeilen im zurückgegebenen DataTable-Objekt gearbeitet wird.

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Call the EnumCollations method and return collation information to DataTable variable.
Dim d As DataTable
'Select the returned data into an array of DataRow.
d = srv.EnumProcesses
'Iterate through the rows and display collation details for the instance of SQL Server.
Dim r As DataRow
Dim c As DataColumn
For Each r In d.Rows
    Console.WriteLine("============================================")
    For Each c In r.Table.Columns
        Console.WriteLine(c.ColumnName + " = " + r(c).ToString)
    Next
Next

Überwachen von Serverprozessen in Visual C#

Informationen zum aktuellen Statustyp der Instanz von SQL Server können Sie über Enumerationsmethoden abrufen. Im Beispielcode wird die EnumProcesses-Methode zum Ermitteln von Informationen zu den aktuellen Prozessen verwendet. Dieses Beispiel zeigt auch, wie mit den Spalten und Zeilen im zurückgegebenen DataTable-Objekt gearbeitet wird.

//Connect to the local, default instance of SQL Server. 
{ 
Server srv = default(Server); 
srv = new Server(); 
//Call the EnumCollations method and return collation information to DataTable variable. 
DataTable d = default(DataTable); 
//Select the returned data into an array of DataRow. 
d = srv.EnumProcesses; 
//Iterate through the rows and display collation details for the instance of SQL Server. 
DataRow r = default(DataRow); 
DataColumn c = default(DataColumn); 
foreach ( r in d.Rows) { 
  Console.WriteLine("================================="); 
  foreach ( c in r.Table.Columns) { 
    Console.WriteLine(c.ColumnName + " = " + r(c).ToString); 
  } 
} 
} 

Siehe auch

Verweis