на начало
На главную страницу
Форум   

Статья :: Работа с базой данных в соединенном режиме


Работа с базой данных в соединенном режиме

Использовавшийся в предыдущем примере режим называют соединенным. Программа соединяется с базой данных, выполняет все необходимые действия, а затем отсоединяется. При этом перемещаться по данным базы можно только в одном направлении. Это соответствует однонаправленному курсору/набору записей в классической технологии доступа к данным ADO. При использовании соединенного режима следует открывать и закрывать соединение явно.
Держать соединение постоянно открытым — не лучший способ работы, если вы хотите минимизировать потребление ресурсов (соединение само по себе недешево) для обеспечения масштабируемости. Тем не менее, как мы увидим позже, именно использование SqlDa-taReader может, в зависимости от ваших потребностей, оказаться правильным подходом.
Далее будет показано, что SqlConnection используется вместе с DataSet (Набор данных) и SqlDataReader для установления соединения с базой данных так же, как это сделано выше с помощью SqlCommand. Объект SqlConnection, кроме того, управляет свойствами базы данных, такими, как транзакции и уровни изоляции. Основная (root) транзакция начинается вызовом метода BeginTransaction класса SqlConnection". Аналогичная строка соединения с SQL Server с использованием объекта класса OleDbConnection будет такой:

"Provider=SQLOLEDB.1;server=localhost;uid=sa;pwd=;
database=Northwind";

В приведенной строке следует изменить на корректные имя сервера, идентификатор и пароль пользователя.
Как уже было сказано, SqlCommand применяется для выполнения команд при использовании и DataSet (Набор данных) и SqlDataReader, только действует немного по-разному. Это станет более понятным после рассмотрения класса SqlDataAdapter.
Свойство CommandType определяет тип команды, хранимой в SqlCommand. Для источника данных Sql это может быть Text (Текст) (принятое по умолчанию значение) или StoredProcedure (Хранимая процедура). CommandText также можно определить как свойство. Вскоре мы научимся использовать параметры при работе с командами, которые передаются базе данных.
Экземпляр класса SqlDataReader возвращается посредством метода Ехе-cuteReader экземпляра класса SqlCommand. Если программа должна быть независима от используемого источника данных, вместо указанного метода следует использовать интерфейс IDataReader. При этом можно вызывать методы интерфейса, а не самого экземпляра класса.

IDataReader *idr = command->ExecuteReader() ;

Этот же прием можно использовать и для других классов источника данных, где реализованы интерфейсы, которые поддерживаются несколькими источниками данных. Пока экземпляр класса SqlDataReader не будет закрыт, никакие действия над объектом SqlCommand, кроме его закрытия, недоступны.


Работа с базой данных в соединенном режиме

страницы в данном разделе 
Глава 9. Программирование в ADO.NET Программирование в ADO.NET
Источники данных Проводник Visual Studio.NET по серверу: Server Explorer
Установление соединения Устройства считывания данных
Работа с базой данных в соединенном режиме Выполнение операторов SQL
DataReader Множественное результирующее множество
Коллекция параметров Классы SqlDataAdapter и DataSet (Набор данных)
Отсоединенный режим Коллекции объектов DataSet (Набор данных)
Основные сведения о наборах данных Обновление источника данных
Автоматически генерируемые свойства команд Транзакции и обновление базы данных
Объект DataSet (Набор данных) и сравнение пессимистического блокирования с оптимистическим Использование наборов данных
Множественные таблицы в объекте DataSet (Набор данных) Создание таблицы без обращения к источнику данных
Ограничения и связи Получение информации о схеме размещения данных в объекте DataTabie (Таблица данных)
Изменение объекта DataRow Пример приложения Acme Travel Agency (Туристическое агентство Acme)
Доступ к данным XML Схема и данные XML
XmlDataDocument DataSet (Набор данных) и XML
База данных AirlineBrokers DataSet (Набор данных) и XML
Создание документа XML из объекта DataSet (Набор данных) Резюме


Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)



PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C



 
© faq.pp.ru, справочник программиста