Поделиться через


Вызов методов

Методы выполняют определенные задачи, связанные с объектом, например выдачу Checkpoint в базе данных или запрос перечисленного списка входа для экземпляра Microsoft SQL Server.

Методы выполняют операцию с объектом. Методы могут принимать параметры и часто иметь возвращаемое значение. Возвращаемое значение может быть простым типом данных, сложным объектом или структурой, содержащей множество элементов.

Используйте обработку исключений для определения успешности метода. Дополнительные сведения см. в разделе "Обработка исключений SMO".

Примеры

Чтобы использовать любой приведенный пример кода, необходимо выбрать среду программирования, шаблон программирования и язык программирования, в котором будет создано приложение. Дополнительные сведения см. в статье "Практическое руководство. Создание проекта SMO Visual Basic в Visual Studio .NET" или "Практическое руководство. Создание проекта SMO Visual C# в Visual Studio .NET" в документации по SQL Server.

Использование простого метода SMO в Visual Basic

В этом примере Create метод не принимает параметров и не имеет возвращаемого значения.

Использование простого метода SMO в Visual C#

В этом примере Create метод не принимает параметров и не имеет возвращаемого значения.

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

}

Использование метода SMO с параметром в Visual Basic

Объект Table имеет метод с именем RebuildIndexes. Для этого метода требуется числовой параметр, указывающий FillFactor.

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

Использование метода SMO с параметром в Visual C#

Объект Table имеет метод с именем RebuildIndexes. Для этого метода требуется числовой параметр, указывающий FillFactor.

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

Использование метода перечисления, возвращающего объект DataTable в Visual Basic

В этом разделе описывается, как вызвать метод перечисления и как обрабатывать данные в возвращаемом DataTable объекте.

Метод EnumCollations возвращает DataTable объект, который требует дальнейшей навигации для доступа ко всем доступным сведениям о сортировке экземпляра SQL Server.

'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  

Использование метода перечисления, возвращающего объект DataTable в Visual C#

В этом разделе описывается, как вызвать метод перечисления и как обрабатывать данные в возвращаемом DataTable объекте.

Метод EnumCollations возвращает системный DataTable объект. Объекту DataTable требуется дополнительная навигация для доступа ко всем доступным сведениям о сортировке экземпляра 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);   
  }   
}   
}   

Создание объекта в Visual Basic

Конструктор любого объекта можно вызвать с помощью New оператора. Конструктор Database объектов перегружен, а версия конструктора Database объектов, которая используется в примере, принимает два параметра: родительский Server объект, к которому принадлежит база данных, и строка, представляющая имя новой базы данных.

Создание объекта в Visual C#

Конструктор любого объекта можно вызвать с помощью New оператора. Конструктор Database объектов перегружен, а версия конструктора Database объектов, которая используется в примере, принимает два параметра: родительский Server объект, к которому принадлежит база данных, и строка, представляющая имя новой базы данных.

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

Копирование объекта SMO в Visual Basic

В этом примере кода используется Copy метод для создания копии Server объекта. Объект Server представляет подключение к экземпляру SQL Server.

Копирование объекта SMO в Visual C#

В этом примере кода используется Copy метод для создания копии Server объекта. Объект Server представляет подключение к экземпляру 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 = "AdventureWorks2012";   
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);   
}  

Мониторинг процессов сервера в Visual Basic

Сведения о текущем типе состояния о экземпляре SQL Server можно получить с помощью методов перечисления. В примере кода метод используется EnumProcesses для обнаружения сведений о текущих процессах. В нем также показано, как работать с столбцами и строками в возвращаемом DataTable объекте.

Мониторинг процессов сервера в Visual C#

Сведения о текущем типе состояния о экземпляре SQL Server можно получить с помощью методов перечисления. В примере кода метод используется EnumProcesses для обнаружения сведений о текущих процессах. В нем также показано, как работать с столбцами и строками в возвращаемом DataTable объекте.

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

См. также

Server
ServerConnection