
- •4.6. Работа со связанными таблицами в Windows-формах 42
- •4.7. Представление связанных таблиц в элементе управления DataGrid 54
- •4.7.1. Создание Windows-формы 54
- •4. Построение Windows-приложений с доступом к данным через adо.Net
- •4.1. Создание Windows-приложения
- •4.2. Windows-форма как основа интерфейса
- •4.3. Доступ к данным в Windows-формах с использованием элемента управления DataGrid
- •4.3.1. Создание проекта и формы
- •4.3.2. Создание набора данных DataSet
- •Создание и конфигурирование элементов доступа к данным Connection и DataAdapter
- •Создание объекта DataSet
- •4.3.3. Добавление элемента управления DataGrid для отображения данных
- •4.3.4. Заполнение элемента управления DataGrid данными
- •4.3.5. Обновление информации в базе данных
- •4.4. Доступ к данным в Windows-формах с использованием текстовых полей
- •4.4.1. Связывание элементов TextBox с набором данных
- •4.4.2. Отображение номера текущей записи
- •4.5. Выборка и сортировка данных через запросы с параметрами
- •4.5.1. Создание Windows-формы
- •4.5.2. Создание и конфигурирование объектов DataConnection и DataAdapter
- •4.5.3. Создание набора данных
- •4.5.4. Добавление элементов отображения данных
- •4.5.5. Добавление кода для заполнения набора данных
- •4.5.6. Связывание текстовых полей с набором данных
- •4.5.7. Добавление навигации по записям
- •4.5.8. Отображение номера текущей записи
- •4.5.9. Тестирование работы приложения
- •4.6. Работа со связанными таблицами в Windows-формах
- •4.6.1. Создание и Windows-формы
- •4.6.2. Конфигурирование DataConnection и Data Adapter
- •4.6.3. Создание набора данных Dataset
- •4.6.4. Создание реляционных связей между таблицами набора данных
- •4.6.5. Добавление элементов отображения данных
- •Отображение издательств в элементе ListBox
- •Отображение наименований книг в элементе DataGrid
- •4.6.6. Заполнение набора данных
- •4.6.7. Тестирование приложения
- •4.7. Представление связанных таблиц в элементе управления DataGrid
- •4.7.1. Создание Windows-формы
- •4.7.2. Конфигурирование объектов DataConnection и DataAdapter
- •4.7.3. Добавление элементов управления
- •4.7.4. Заполнение набора данных и создание реляционных связей
- •4.7.5. Тестирование приложения
4.5.1. Создание Windows-формы
На первом шаге создается Windows-форма в следующей последовательности.
Из меню File выберите команду Add Windows Form.
Появиться диалоговое окно Add New Iten.
Нажмите кнопку Add и в проект будет добавлена новая форма с именем Form2.
На следующем шаге добавьте к форме и сконфигурируйте набор данных в следующей последовательности.
□ Создайте адаптер данных, с использованием соответствующего мастера. Адаптер данных содержит SQL-запрос, который будет считывать информацию из таблицы базы данных и передавать ее объекту DataSet. Мастер поможет создать SQL-запрос, а также соединение с базой данных.
□ Сгенерируйте схему набора данных. При создании схемы Visual Studio создаст и новый класс DataSet, который будет добавлен к форме.
4.5.2. Создание и конфигурирование объектов DataConnection и DataAdapter
Для создания и конфигурирования объектов DataConnection и DataAdapter выполните следующие действия.
1. Из вкладки Data окна Toolbox, перенесите на форму объект OleDbDataAdapter.
Будет запущен мастер Data Adapter Configuration Wizard, который поможет создать объекты DataConnection и DataAdapter.
2. В мастере выполните следующие действия.
• На второй странице создайте или выберите соединение, указывающее на базу данных Pubs вашего SQL-сервера (рис. 4.26).
Рис. 4.26. Выбор соединения, указывающего на базу данных Pubs
На третьей странице укажите, что вы хотите использовать SQL- запрос для обращения к базе данных.
На четвертой странице создайте следующий SQL-запрос (рис. 4.27):
SELECT au_id, au_lname, state FROM authors WHERE (state=?)
Рис. 4.27. Формирование запроса в окне Query Bilder
Вопросительный знак (?) представляет собой метку-заполнитель для параметра. (Если вы используете класс SqlDataAdapter, то на месте знака вопроса будет стоять переменная для принятия значения от параметра, например @state.)
Примечание
Для помощи формирования SQL-запроса нажмите Query Builder, чтобы запустить мастер формирования запросов Query Builder. Чтобы сформировать метку-заполнитель для параметра, введите вопросительный знак в столбец Criteria для поля state.
3. Мастер создаст соединение с базой данных (объект OleDbConnection1) и адаптер данных (объект OleDbDataAdapterl).
Адаптер данных фактически будет содержать четыре SQL-запроса: один для выборки записей, который вы собственно и создали на основе предложения select, а также три дополнительных запроса — для модификации, добавления и удаления записей (на основе предложений update, insert и delete).
В этом примере мы будем использовать только один запрос на выборку записей на основе предложения select. Перечень параметров команды SelectCommand можно посмотреть в окне свойств (рис. 4.28).
Рис. 4.28. Доступ к коллекции параметров
Сам SQL-запрос с предложением select будет храниться в свойстве SelectCommand адаптера данных. Свойство SelectCommand представляет собой объект команды данных (объект типа OleDbCommand), в котором содержится не только SQL-запрос, но и другая информация, необходимая для выполнения SQL-запроса. Наиболее важным элементом команды данных является коллекция параметров parameters. Эта коллекция содержит набор параметров (типа OleDbParameter), причем каждый параметр соответствует одной из меток-заполнителей (поименованному параметру) SQL-запроса. В этом примере мы использовали одну метку-заполнитель, значит, в коллекции Parameters метке-заполнителю будет соответствовать единственный параметр — значение для поля state (рис. 4.29).
Рис. 4.29. Коллекция параметров команды SELECT
По умолчанию, Data Adapter Configuration Wizard при формировании параметров присваивает им имена соответствующих столбцов таблицы базы данных. В нашем примере задана только одна метка-заполнитель для столбца state, соответственно мастером будет создан один параметр с именем state. Позже мы узнаем, как присвоить значение этому параметру перед выполнением SQL-запроса.