Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Microsoft SQL Server 2005 для администраторов
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

9.2.4. Объект SMO.Database

Объект SMO.Database, коллекции объектов в базах данных, методы ExecuteNonQuery и ExecuteWithResults

В предыдущем разделе вы познакомились с тем, как при помощи объекта SMO.Server подключаться к SQL Server и выполнять некоторые операции на уровне всего сервера. Однако чаще всего вам нужно производить выполнение программных операций с базами данных и их объектами — таблицами, представлениями, индексами, хранимыми процедурами, пользователями и ролями баз данных и т. п. Для того чтобы выполнить какие-то операции с базой данных или получить доступ к ее объектам, необходимо получить ссылку на эту базу данных при помощи объекта SMO.Database.

Чтобы получить ссылку на объект базы данных (т. е. создать объект SMO.Database), в SMO чаще всего применяют два способа:

1.     Использовать свойство Item коллекции DatabaseCollection, доступ к которой производится при помощи свойства Databases объекта SMO.Server. Например, чтобы обратиться к базе данных db1 на сервере LONDON\Server2, можно использовать код вида:

Dim oSrv As New Server("LONDON\Server2")

Dim oDB As Database

oDB = oSrv.Databases.Item("db1")

2.     Получить ссылку на объект при помощи идентификатора URN:

Dim oDB As Database

oDB = _

oSrv.GetSmoObject("Server[@Name='LONDON\Server2']/Database[@Name='db1']")

Этот способ несколько сложнее, но более универсален.

Синтаксис с использованием идентификатора URN поначалу может показаться сложным, но на практике этот способ позволяет выиграть с точки зрения производительности и простоты программного кода в тех случаях, когда вам нужно обращаться в объектам "в глубине" иерархии объектов SQL Server, например, к столбцам таблицы.

После того, как вы получили ссылку на объект базы данных, можно использовать свойства и методы этого объекта. Значительная часть свойств объекта SMO.Database предназначена для получения доступа к коллекциям объектов нижних уровней (Tables, Views, Triggers, StoredProcedures и т. п.). Другая часть, к которой относятся свойства DBOLogin и множество свойств, начинающихся на Is..., предназначена для проверки прав текущего пользователя перед выполнением какой-либо операции. Назначение большинства методов также понятно из их названий. Обратим внимание лишь на два метода:

q      ExecuteNonQuery() — этот метод позволяет выполнить команды в базе данных в тех ситуациях, когда результаты выполнения запроса (в виде набора табличных данных) вас не интересуют, например:

oDB.ExecuteNonQuery("exec SP_CHANGEDBOWNER 'user1'")

q      ExecuteWithResult() — этот метод позволяет выполнить запрос к базе данных и вернуть его результаты в виде стандартного объекта DataSet из библиотеки ADO.NET. Обычно этот объект используется для привязки и отображения в специальных элементах управления, таких как DataGrid. Самый простой способ, чтобы убедиться, что результаты действительно возвращаются, такой:

Dim oDataSet As DataSet

oDataSet = oDB.ExecuteWithResults("SELECT * FROM table1")

MsgBox(oDataSet.GetXml)

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2008, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru