Профтемы студенту и преподавателю
Taketop.ru
СТУДЕНТУ И ПРЕПОДАВАТЕЛЮ
лекции по дисциплинам
Информатика и вычислительная техника :: Разработка и эксплуатация удаленных баз данных
Применение методов объекта Command в Windows-приложениях. Параметризированные запросы
Параметры
Параметры команд часто становятся известны только в период выполнения:
SELECT * FROM Books WHERE (Title LIKE [value])
- Для параметризации команд используется объект Parameter
- Параметры хранятся в свойстве Parameters объекта Command
- Параметры связываются либо по индексу либо по свойству ParameterName
- Свойство Direction указывает тип параметра (входной и/или выходной)
Бывают ситуации, когда параметры строки запроса неизвестны до тех пор, пока пользователь не введет соответствующие значения.
Если мы создадим приложение, где пользователь будет вводить фамилию и код туриста, то мы не можем заранее указать, какие это будут значения.
Для решения таких задач, которые возникли еще в самом начале разработки языка SQL, были придуманы параметризированные запросы.
c) Объект Connection
Большинство источников данных поддерживает ограниченное количество соединений. Так, база данных Microsoft Access может поддерживать одновременную работу не более чем с 255 пользователями. При попытке обращения к базе данных, лимит соединений которой исчерпан, пользователь не получит нужной ему информации и будет вынужден ждать освобождения соединения. Задача разработчика заключается в минимизации времени связи с базой данных, поскольку соединение занимает полезные системные ресурсы.
Когда вы вызываете у объекта DataAdapter метод (например, Fill), то он сам проверяет, открыто ли соединение. Если соединения нет, то DataAdapter открывает соединение, выполняет задачи и затем закрывает соединение.
Явное управление соединением - лучший подход к работе с базами данных. Он обладает рядом преимуществ:
- дает более чистый и удобный для чтения код;
- помогает при отладке приложения;
- является более эффективным.
Для явного управления соединением используется объект Connection.
Для управления соединением с источником данных из программы объект Connection, разумеется, имеет набор свойств и методов.
Рассмотрим подробнее свойства объекта.
Название Описание
ConnectionString Строка соединения
ConnectionTimeout Время ожидания соединения в секундах
Database Имя текущей базы данных (или той, которая будет использоваться при открытии соединения)
DataSource Имя сервера баз данных (SQL) или спецификация файла с данными
PacketSize Размер сетевого пакета в байтах
Provider Имя провайдера OLE DB
ServerVersion Версия сервера баз данных
State Битовая комбинация значений ConnectionState
WorkstationId Строка, идентифицирующая клиента
Методы Connection
Методы SqlConnection и OleDbConnection совершенно одинаковы.
BeginTransaction Начинает транзакцию
ChangeDatabase Позволяет изменить текущую базу данных при открытом соединении
Close Закрывает соединение с источником данных
CreateCommand Создает объект DataCommand, связанный с источником данных, и возвращает его как результат функции
Open Устанавливает соединение с источником данных


События объекта Connection


Класс Connection поддерживает несколько событий, позволяющих отслеживать статус соединения и получать уведомляющие сообщения для экземпляра этого класса. Описание событий приводится
StateChange возникает при изменении состояния Connection, т.е. когда его свойство State меняет значение с Open на Closed или наоборот.
Обработчик этого события получает аргумент типа StateChangeEventArgs, который имеет два свойства: OriginalState (исходное состояние соединения) и CurrentState (его текущее состояние). Оба эти свойства могут принимать одно из значений перечисления ConnectionState, которое мы уже рассмотрели ранее при изучении свойства State.
InfoMessage
возникает, когда источник данных возвращает предупреждение или информационное сообщение.
Возвращается коллекция ошибок, текстовое описание ошибки и имя объекта, в котором возникла ошибка. OleDbConnection.InfoMessage имеет дополнительное свойство ErrorCode, которое идентифицирует источник ошибки в соответствии со стандартом ANSI SQL.

Работы, представленные на сайте http://taketop.ru, предназначено исключительно для ознакомления. Все права в отношении работ и/или содержимого работ, представленных на сайте http://taketop.ru, принадлежат их законным правообладателям. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие или полученные в связи с использованием работ и/или содержимого работ, представленных на сайте http://taketop.ru
Рейтинг@Mail.ru
Сайт управляется SiNG cms © 2010-2015