Вход/Регистрация
Обработка баз данных на Visual Basic®.NET
вернуться

Прайс Кевин Т.

Шрифт:

e.Status = UpdateStatus.SkipCurrentRow

e.Row.RejectChanges

 End If

End Sub

Передача значения UpdateStatus.SkipCurrentRow свойству Status аргумента события позволяет сообщить адаптеру данных о прекращении операции, т.е. отмене обновления данных, потому что оно не прошло проверку. Но недостаточно просто прекратить выполнение операции, потому что в этом случае пользователь получит пустое текстовое поле (и пустое поле в объекте DataSet). Для решения этой проблемы следует вызвать метод RejectChanges объекта Row, который содержится в аргументе события. Он обновит содержимое пользовательского интерфейса и сообщит объекту DataSet о том, что больше не нужно согласовывать эту строку с базой данных. После этого можно продолжать редактирование данных, не беспокоясь об их безопасности.

Проверка введенных данных на уровне процессора баз данных

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

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

1. В окне Server Explorer среды Visual Studio .NET откройте схему таблицы tblCustomer.

2. В столбце Allow Nulls (Допускаются неопределенные значения) снимите флажки FirstName и LastName.

3. Сохраните схему таблицы tblCustomer с помощью команды меню File→Save tblCustomer.

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

Резюме

Эта глава посвящена основам баз данных в целом, а также простейшим способам соединения приложений Visual Basic .NET для работы сданными, хранящимися в базе данных SQL Server. Следует учитывать, что правильно составленная схема базы данных может значительно повысить производительность и практичность приложения. Нормализация, ссылочная целостность и индексирование могут оказаться весьма эффективными для достижения этих целей. Однако помните, что чрезмерное индексирование может привести к обратному эффекту и замедлить работу приложения. В следующих главах приводятся примеры бизнес-ситуаций, в которых следует учитывать эти особенности.

Вопросы и ответы

Существует ли в Visual Studio .NET элемент управления Data, который в Visual Basic 6 можно было успешно использовать для быстрого создания прототипов данных?

Нет. Все функции элемента управления Data, который использовался в Visual Basic 6 и более старых версиях, теперь распределены среди разных объектов данных. Например, соединение с базой данных теперь создается с помощью отдельного объекта SqlConnection, операции извлечения, обновления и удаления данных — с помощью объектов BindingContext и DataAdapter, а операции перемещения по записям — с помощью объекта BindingContext. В отличие от прежних объектов для работы с данными, новые объекты не имеют никакого визуального представления во время выполнения, что позволяет разработчику создавать практически любые виды пользовательского интерфейса для работы с данными.

Можно ли первичный ключ составить из нескольких полей?

Да, хотя такие ключи встречаются нечасто. Они называются конкатенированными ключами. Например, если вы составляете конкатенированный первичный ключ из полей, содержащих имя и фамилию, то это значит, что в такой базе данных нельзя зарегистрировать полных "тезок", поскольку каждое сочетание имени и фамилии должно образовывать уникальное значение.

ГЛАВА 2

Запросы и команды на языке SQL

В главе 1, "Основы построения баз данных", где демонстрируется создание базы данных с помощью Visual Studio .NET и SQL Server, вы познакомились со структурой базы данных и ее таблиц. В настоящей главе основное внимание уделяется манипулированию данными в таблицах, а также созданию и модификации структуры таблиц с помощью языка структурированных запросов (Structured Query Language — SQL).

Благодаря запросам SQL пользователь может выбирать записи из таблицы базы данных, находить связанные с ними данные в других таблицах и манипулировать структурой баз данных. Кроме того, запросы SQL вполне применимы для манипулирования базами данных в программах.

Язык SQL представляет собой стандартный способ управления базами данных. Он реализован в различных формах многими производителями в системах реляционных баз данных, включая Microsoft Access и SQL Server, а также системы, созданные другими поставщиками программного обеспечения, например Oracle и IBM. (Язык SQL обязан своим происхождением разработчикам компании IBM.) Как правило, SQL используется для создания запросов, которые извлекают данные из баз данных, хотя множество команд SQL выполняют и другие действия, например создание таблиц и полей.

  • Читать дальше
  • 1
  • ...
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: