Джеффри Мак-Манус - Обработка баз данных на Visual Basic®.NET

Здесь есть возможность читать онлайн «Джеффри Мак-Манус - Обработка баз данных на Visual Basic®.NET» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2003, ISBN: 2003, Издательство: Издательский дом Вильямс, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Обработка баз данных на Visual Basic®.NET: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Обработка баз данных на Visual Basic®.NET»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Это практическое руководство разработчика программного обеспечения на Visual Basic .NET и ADO.NET, предназначенное для создания приложений баз данных на основе WinForms, Web-форм и Web-служб. В книге описываются практические способы решения задач доступа к данным, с которыми сталкиваются разработчики на Visual Basic .NET в своей повседневной деятельности. Книга начинается с основных сведений о создании баз данных, использовании языка структурированных запросов SQL и системы управления базами данных Microsoft SQL Server 2000. Затем рассматриваются способы использования основных объектов модели ADO.NET для доступа к данным в реляционных базах данных. Благодаря подробным примерам, читатели могут изучить способы использования основных свойств и методов, а также узнать о более сложных компонентах и технологиях. Многочисленные листинги с кодом на языке Visual Basic .NET иллюстрируют используемые концепции, а бизнес-ситуации показывают практическую область их применения.

Обработка баз данных на Visual Basic®.NET — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Обработка баз данных на Visual Basic®.NET», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Dim da As New SqlDataAdapter()

grdCustomersOrders.DataSource = Nothing

ds = New DataSet()

' Создание команды SELECT.

da.SelectCommand = New SqlCommand()

da.SelectCommand.Connection = cn

da.SelectCommand.CommandType = CommandType.Text

da.SelectCommand.CommandText = _

"select * from tblCustomer; select * from tblOrder"

' Указание информативных имен для таблиц.

da.TableMappings.Add("Table", "Customers")

da.TableMappings.Add("Table1", "Orders")

' Загрузка данных, da.Fill(ds)

' Создание отношения.

ds.Relations.Add("Customer_Orders", _

ds.Tables("Customers").Columns("ID"), _

ds.Tables("Orders").Columns("CustomerID"))

' Отображение данных.

grdCustomersOrders.DataSource = ds

End Sub

Private Sub btnUpdate_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles btnUpdate.Click

' Создание адаптеров данных.

Dim daCustomers As New SqlDataAdapter( _

"select * from tblCustomer", en)

Dim daOrders As New SqlDataAdapter( _

"select * from tblOrder", en)

Dim cbCustomers As New SqlCommandBuilder(daCustomers)

Dim cbOrders As New SqlCommandBuilder(daOrders)

Try

' Внесение изменений в таблицы в "правильном"

' порядке (см. далее в тексте).

Dim ChangedTable As New DataTable()

' Удаление записей в дочерней таблице.

ChangedTable = _

ds.Tables("Orders").GetChanges(DataRowState.Deleted)

If Not ChangedTable Is Nothing Then

daOrders.Update(ChangedTable)

End If

' Все измененные записи в родительской таблице.

ChangedTable = ds.Tables("Customers").GetChanges

If Not ChangedTable Is Nothing Then

daCustomers.Update(ChangedTable)

End If

' Новые или измененные записи в дочерней таблице.

ChangedTable = _

ds.Tables("Orders").GetChanges(DataRowState.Added _

Or DataRowState.Modified)

If Not ChangedTable Is Nothing Then

daOrders.Update(ChangedTable)

End If

Catch ex As Exception

MessageBox.Show(ex.Message)

End Try

End Sub

Первая подпрограмма btnFill_Click считывает обе таблицы из базы данных посредством одного обращения к базе данных благодаря выполнению пакета команд SQL. В объекте CommandText отдельные команды пакета отделяются точкой с запятой.

Обратите внимание, что предлагаемые по умолчанию имена таблиц Table и Table1 в приведенных ниже строках кода отображаются на более информативные имена Customers и Orders.

' Указание информативных имен для таблиц.

da.TableMappings.Add("Table", "Customers")

da. TableMappings.Add("Table1", "Orders")

НА ЗАМЕТКУ

Более подробно способы отображения таблиц и полей рассматриваются в главе 7, "ADO.NET: дополнительные компоненты".

После вставки данных в набор данных ds между таблицами Customers и Orders создается отношение DataRelation, где Customers является родительской таблицей, a Orders — дочерней. Последняя строка кода в этой подпрограмме связывает набор данных DataSet с сеткой для отображения данных.

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

1. Сначала удалить записи в дочерней таблице.

2. Вставить, обновить и удалить записи в родительской таблице.

3. Вставить и обновить записи в дочерней таблице.

Для получения соответствующих изменений подпрограмма должна вызвать для данной таблицы метод GetChanges с фильтром состояния записи. Каждый вызов метода GetChanges возвращает объект DataTable только с измененными записями и заданным состоянием. Если таких записей нет, то возвращается значение Nothing. Если есть хотя бы одна измененная строка с заданным состоянием, то для фактического обновления базы данных вызывается метод Update объекта DataAdapter. Код этой подпрограммы окружен блоком операторов Try-Catch для обработки исключительных ситуаций, которые могут возникнуть в процессе обновления базы данных.

Скомпонуйте проект BusinessCase6 и проверьте полученное приложение, выполнив перечисленные ниже действия.

1. Запустите полученное приложение BusinessCase6 и щелкните на кнопке Fill. Это приведет к вставке данных в объект DataSet из базы данных Novelty. Однако строка кода

grdCustomersOrders.DataSource = ds

связывает с сеткой весь объект DataSet, а не какую-то одну таблицу DataTable. Поэтому сетка содержит раскрывающийся список таблиц возле кнопки с изображением знака "плюс", как показано на рис. 6.5.

РИС 65 Исходный вид формы frmCustomersOrders после вставки данных в объект - фото 70

РИС. 6.5. Исходный вид формы frmCustomersOrders после вставки данных в объект DataSet

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Обработка баз данных на Visual Basic®.NET»

Представляем Вашему вниманию похожие книги на «Обработка баз данных на Visual Basic®.NET» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Обработка баз данных на Visual Basic®.NET»

Обсуждение, отзывы о книге «Обработка баз данных на Visual Basic®.NET» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x