Джеффри Мак-Манус - Обработка баз данных на Visual Basic®.NET
- Название:Обработка баз данных на Visual Basic®.NET
- Автор:
- Жанр:
- Издательство:Издательский дом Вильямс
- Год:2003
- Город:Москва
- ISBN:5-8459-0512-5
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Джеффри Мак-Манус - Обработка баз данных на 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 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
CREATE PROCEDURE dbo.SelectEmployees (
@FirstName varchar(50),
@LastName varchar(70),
@DepartmentID int,
@Salary money)
AS
SET NOCOUNT ON;
if (@Salary = 0 or @Salary is null) begin
-– Вычисления
set @Salary = @DepartmentID * 1000
end
INSERT INTO tblEmployee (FirstName, LastName, DepartmentID, Salary) VALUES
(@FirstName, @LastName, @DepartmentID, @Salary)
GO
Поскольку хранимая процедура InsertEmployee уже существует, то для ее создания в новом виде нужно удалить существующую хранимую процедуру или заменить первую строку данного сценария строкой ALTER PROCEDURE dbo.SelectEmployees. Для выполнения этого сценария можно использовать программу SQL Query Analyzer.
Теперь можно вновь запустить приложение проекта DataSetCode без внесения каких-либо изменений в его код. Попробуйте вставить в форму несколько новых записей с пустыми значениями поля Salary и проверьте работоспособность новой хранимой процедуры, т.е. корректного автоматического присвоения значений для этого поля.
Использование компонента DataAdapter во время создания приложения
После описания в предыдущем разделе способа создания кода вручную продемонстрируем метод автоматического создания кода с помощью программы-мастера Data Adapter Configuration Wizard.
Программа-мастер Data Adapter Configuration Wizard предлагает целый набор параметров для конфигурирования объекта DataAdapter во время создания приложения. Она обладает более широкими функциональными возможностями, чем другие компоненты времени создания приложения. Она содержит графический интерфейс для управления многими внутренними объектами и свойствами компонента, а также инструменты автоматического создания кода.
1. Откройте форму frmUpdates в режиме конструктора формы.
2. Из вкладки Data выберите и перетащите в форму компонент SqlDataAdapter. Этот компонент невидим во время выполнения, поэтому он появится под формой среди других невизуальных компонентов. При этом на экране откроется первое диалоговое окно программы-мастера Data Adapter Configuration Wizard. Щелкните на кнопке Next.
3. В следующем диалоговом окне, Choose Your Data Connection (Выберите подключение к базе данных), выберите подключение к базе данных Novelty. Если оно не указано, то его следует создать, щелкнув на кнопке New Connection (Новое подключение) и указав характеристики подключения в стандартном диалоговом окне Data Link Properties (Свойства соединения с данными). После выбора подключения щелкните на кнопке Next.
4. В следующем диалоговом окне, Choose a Query Type (Выбрать тип запроса), можно выбрать тип запроса: Use SQL statements (Использовать команды SQL), Create new stored procedures (Создать новые хранимые процедуры) или Use existing stored procedures (Использовать существующие хранимые процедуры). В данном примере выберите предлагаемый по умолчанию тип запроса Use SQL Statements, хотя на практике бывает полезно использовать созданные программой-мастером хранимые процедуры.
5. В следующем диалоговом окне, Generate the SQL Statements (Создать SQL-команду), введите в текстовую область приведенную ниже команду SQL, которая будет использоваться объектом DataAdapter в качестве основы для других команд обновления.
SELECT FirstName, LastName, DepartmentID, Salary, ID FROM tblEmployee
В этом диалоговом окне есть еще две кнопки. После щелчка на кнопке Advanced Options (Дополнительные возможности) отображается диалоговое окно Advanced SQL Generation Options (Дополнительные возможности для генерации команд SQL) с тремя параметрами. Первый параметр, Generate Insert, Update and Delete Statements (Создать команды вставки, обновления и удаления), указывает на необходимость создания команд вставки, обновления и удаления на основе указанной команды SQL (или нужно использовать объект DataAdapter только для наполнения данными набора данных DataSet). Второй параметр, Use Optimistic concurrency (Использовать оптимистическую обработку параллельно выполняемых команд), означает включение в команду SQL предложения WHERE для всех значений полей в обновленной записи. Это позволяет обнаружить изменения данной записи, внесенные другими пользователями в базе данных, так как в этом случае такая команда SQL будет отвергнута. Третий параметр, Refresh the Dataset (Обновить набор данных Dataset), позволяет добавить еще одну команду SELECT к создаваемым командам вставки и обновления данных для возвращения значений идентификационных полей, предлагаемых по умолчанию значений полей, а также вычисленных сервером значений. После щелчка на кнопке Query Builder (Конструктор запроса) отображается одноименное стандартное диалоговое окно для графического создания команды SELECT вместо непосредственного ввода ее в текстовой области диалогового окна Generate the SQL statements.
6. Щелкните на кнопке Next для отображения диалогового окна View Wizard Results (Просмотр результатов создания команды SQL с помощью программы-мастера).
7. Щелкните на кнопке Finish для применения указанных параметров объекта DataAdapter.
Сразу после создания компонента DataAdapter можно изменить его свойства и параметры с помощью окна свойств Properties или повторного запуска программы-мастера Data Adapter Configuration Wizard. Чтобы повторно запустить программу-мастер для уже имеющегося компонента DataAdapter, щелкните на нем правой кнопкой мыши и выберите в контекстном меню команду Configure Data Adapter (Конфигурировать адаптер данных). Его можно также запустить, выбрав уже имеющийся компонент DataAdapter под формой, а затем щелкнув на ссылке Configure Data Adapter (Конфигурировать адаптер данных) в той части окна свойств Properties, которая находится между списком свойств и их описанием.
Аналогично конструктору команд CommandBuilder, программа-мастер Data Adapter Configuration Wizard предназначена для создания команд для одной независимой таблицы базы данных. Однако эта программа содержит несколько параметров конфигурации, например для создания новых или использования существующих хранимых процедур, что позволяет очень легко и быстро создавать код приложения.
Теперь нужно связать объект DataAdapter, которому автоматически присвоено имя SqlDataAdpater1, с созданным кодом. Для этого нужно явно открыть созданное подключение SqlConnection1.
Подпрограмму btnLoad_Click нужно изменить таким образом, чтобы она вызывала подпрограмму LoadWizardCode вместо подпрограммы LoadExplicitCode. Далее нужно вызвать метод Fill вновь созданного объекта SqlDataAdpater1. Кроме того, для использования нового объекта SqlDataAdpater1 потребуется изменить код подпрограммы btnLoad_Click. Наконец, нужно создать код подпрограммы LoadWizardCode, которая предназначена для открытия нового подключения. Эти три подпрограммы показаны в листинге 6.6.
Private Sub btnLoad_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnLoad.Click
dsEmployeeInfo = New DataSet()
LoadWizardCode()
' Конфигурирование объекта-сетки DataGrid.
Интервал:
Закладка: