Получение данных при помощи соединённых объектов ADO . NET — КиберПедия 

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Получение данных при помощи соединённых объектов ADO . NET

2019-11-19 157
Получение данных при помощи соединённых объектов ADO . NET 0.00 из 5.00 0 оценок
Заказать работу

DataReader позволяет просматривать результаты запроса по одной записи за один раз. Для доступа к значениям столбцов используется имена столбцов, выбираемых запросом. В табл. 5.3 демонстрируется использование объекта DataReader. 

Таблица 5.3 - Получение данных объектом DataReader

// Создать соединение с базой данных using(SqlConnection cs = new SqlConnection (Properties.Settings.Default.EDUConnectionString)) {// Открыть соединение с базой данных cs.Open(); // Создать команду к базе данных SqlCommand cmd = cs.CreateCommand(); // Создать запрос на выборку наименования предмета и оценки студента cmd.CommandText = "select p.Name, v.Value from VED v inner join PRED p on p.Id = v.PredId where v.StudId = @StudId"; // Создать параметер для индектификатора студента в запросе cmd.Parameters.Add(new SqlParameter("@StudId", SqlDbType.Int)); // Задать значение параметра идентификатора студента cmd.Parameters["@StudId"].Value = studId; // Получить объект DataReader using(SqlDataReader reader = cmd.ExecuteReader()) { // Перебор по строкам до конца таблицы while(reader.Read ()) {// Выбрать название предмета string predmetName = reader["Name"].ToString(); // Выбрать оценку int value = int.Parse(reader["Value"].ToString()); } } }

DataAdapter используется для заполнения объекта DataSet или DataTable и модификации источника данных. Выполняет функции посредника при взаимодействии БД и объекта DataSet. Функциональные возможности DataAdapter реализуются:

· методом Fill, который изменяет данные в DataSet. При выполнении метода Fill объект DataAdapter заполняет DataTable или DataSet данными, полученными из БД. После обработки данных, загруженных в память, с помощью метода Update можно записать модифицированные записи в БД;

· методом Update, который позволяет изменять данные в источнике данных с целью достижения обратного соответствия данных в источнике данных по отношению к данным в DataSet.

В табл. 5.4 демонстрируется использование объекта DataAdapter. 

 

Таблица 5.4 - Получение данных объектом DataAdapter

// Создать таблицу в ОП для хранения данных ведомости DataTable dtVed = new DataTable(); // Создать соединение с базой данных using(SqlConnection cs = new SqlConnection (Properties.Settings.Default.EDUConnectionString)) { // Открыть соединение с базой данных cs.Open(); // Создать команду к базе данных SqlCommand cmd = cs.CreateCommand(); // Создать запрос на выборку наименования предмета и оценки студента cmd.CommandText = "select p.Name, v.Value from VED v inner join PRED p on p.Id = v.PredId where v.StudId = @StudId"; // Создать параметер для индектификатора студента в запросе cmd.Parameters.Add(new SqlParameter("@StudId", SqlDbType.Int)); // Задать значение параметра идентификатора студента cmd.Parameters["@StudId"].Value = studId; // Создать адаптер для заполнения таблицы в ОП SqlDataAdapter ad = new SqlDataAdapter(cmd); // Заполнить таблицу значениями из базы ad.Fill(dtVed); }

Транзакции

Под транзакцией понимается неделимая с точки зрения воздействия на базу данных последовательность операторов манипулирования данными: чтения, удаления, вставки, модификации, приводящая к одному из двух возможных результатов: либо последовательность выполняется, если все операторы правильные, либо вся транзакция откатывается, если хотя бы один оператор не может быть успешно выполнен.

Прежде всего, необходимым условием применения транзакций как элементов модели ADO.NET является поддержка источником данных (базой данных) концепции транзакции. Обработка транзакций гарантирует целостность информации в базе данных. Таким образом, транзакция переводит базу данных из одного целостного состояния в другое.

При выполнении транзакции система управления базами данных должна придерживаться следующих правил.

1) Atomicity – неделимость. Транзакция неделима в том смысле, что представляет собой единое целое. Все ее компоненты либо имеют место, либо нет. Не бывает частичной транзакции. Если может быть выполнена лишь часть транзакции, она отклоняется.

2) Consistency – согласованность. Транзакция является согласованной, потому что не нарушает бизнес-логику и отношения между элементами данных. Это свойство очень важно при разработке клиент-серверных систем, поскольку в хранилище данных поступает большое количество транзакций от разных систем и объектов. Если хотя бы одна из них нарушит целостность данных, то все остальные могут выдать неверные результаты.

3) Isolation – изолированность. Транзакция всегда изолированна, поскольку ее результаты самодостаточны. Они не зависят от предыдущих или последующих транзакций – это свойство называется сериализуемостью и означает, что транзакции в последовательности независимы.

4) Durability – устойчивость. Транзакция устойчива. После своего завершения она сохраняется в системе, которую ничто не может вернуть в исходное (до начала транзакции) состояние, т.е. происходит фиксация транзакции, означающая, что ее действие постоянно даже при сбое системы. При этом подразумевается некая форма хранения информации в постоянной памяти как часть транзакции.

Указанные выше правила реализуются непосредственно источником данных. На программиста возлагаются обязанности по созданию эффективных и логически верных алгоритмов обработки данных. Пример обработки данных через транзакцию приведён в табл. 5.5.

 


Поделиться с друзьями:

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.