Dela via


Calling Methods

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL-databas i Förhandsversion av Microsoft Fabric

Metoder utför specifika uppgifter som är relaterade till objektet, till exempel att utfärda en kontrollpunkt i en databas eller begära en uppräknad lista över inloggningar för instansen av Microsoft SQL Server.

Metoder utför en åtgärd på ett objekt. Metoder kan ta parametrar och ofta ha ett returvärde. Returvärdet kan vara en enkel datatyp, ett komplext objekt eller en struktur som innehåller många medlemmar.

Använd undantagshantering för att identifiera om metoden har lyckats. Mer information finns i Hantera SMO-undantag.

Examples

Om du vill använda ett kodexempel som tillhandahålls måste du välja programmeringsmiljö, programmeringsmallen och programmeringsspråket för att skapa ditt program. Mer information finns i Skapa ett Visual C# SMO-projekt i Visual Studio .NET.

Använda en enkel SMO-metod i Visual Basic

I det här exemplet Create tar metoden inga parametrar och har inget returvärde.

'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()

Använda en enkel SMO-metod i Visual C#

I det här exemplet Create tar metoden inga parametrar och har inget returvärde.

{   
//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();   
}

Använda en SMO-metod med en parameter i Visual Basic

Objektet Table har en metod som heter RebuildIndexes. Den här metoden kräver en numerisk parameter som anger FillFactor.

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

Använda en SMO-metod med en parameter i Visual C#

Objektet Table har en metod som heter RebuildIndexes. Den här metoden kräver en numerisk parameter som anger FillFactor.

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

Använda en uppräkningsmetod som returnerar ett DataTable-objekt i Visual Basic

I det här avsnittet beskrivs hur du anropar en uppräkningsmetod och hur du hanterar data i det returnerade DataTable objektet.

Metoden EnumCollations returnerar ett DataTable objekt, vilket kräver ytterligare navigering för att få åtkomst till all tillgänglig sorteringsinformation om SQL Server-instansen.

'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  

Använda en uppräkningsmetod som returnerar ett DataTable-objekt i Visual C#

I det här avsnittet beskrivs hur du anropar en uppräkningsmetod och hur du hanterar data i det returnerade DataTable objektet.

Metoden EnumCollations returnerar ett systemobjekt DataTable . Objektet DataTable kräver ytterligare navigering för att få åtkomst till all tillgänglig sorteringsinformation om instansen av SQL Server.

//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);   
  }   
}   
}   

Skapa ett objekt i Visual Basic

Konstruktorn för alla objekt kan anropas med hjälp av operatorn Ny . Objektkonstruktorn Database är överbelastad och den version av Database objektkonstruktorn som används i exemplet tar två parametrar: det överordnade Server objekt som databasen tillhör och en sträng som representerar namnet på den nya databasen.

'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)

Konstruera ett objekt i Visual C#

Konstruktorn för alla objekt kan anropas med hjälp av operatorn Ny . Objektkonstruktorn Database är överbelastad och den version av Database objektkonstruktorn som används i exemplet tar två parametrar: det överordnade Server objekt som databasen tillhör och en sträng som representerar namnet på den nya databasen.

{   
Server srv;   
srv = new Server();   
Table tb;   
tb = srv.Databases("AdventureWorks2022").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);   
}  

Kopiera ett SMO-objekt i Visual Basic

I det här kodexemplet Copy används metoden för att skapa en kopia av Server objektet. Objektet Server representerar en anslutning till en instans av SQL Server.

'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 = "AdventureWorks2022"
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)

Kopiera ett SMO-objekt i Visual C#

I det här kodexemplet Copy används metoden för att skapa en kopia av Server objektet. Objektet Server representerar en anslutning till en instans av SQL Server.

{   
//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 = "AdventureWorks2022";   
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);   
}  

Övervaka serverprocesser i Visual Basic

Du kan hämta aktuell statustypsinformation om instansen av SQL Server via uppräkningsmetoder. Kodexemplet använder EnumProcesses metoden för att identifiera information om de aktuella processerna. Den visar också hur du arbetar med kolumnerna och raderna i det returnerade DataTable objektet.

'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

Övervaka serverprocesser i Visual C#

Du kan hämta aktuell statustypsinformation om instansen av SQL Server via uppräkningsmetoder. Kodexemplet använder EnumProcesses metoden för att identifiera information om de aktuella processerna. Den visar också hur du arbetar med kolumnerna och raderna i det returnerade DataTable objektet.

//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);   
  }   
}   
}   

See Also

Server
ServerConnection