17316

Візуальне програмування – робота з БД Компонентне програмування – робота з обєктами БД

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторна робота 3. Візуальне програмування – робота з БД Компонентне програмування – робота з об'єктами БД. 2 год Мета роботи: Зв'язування даних з елементами управління ListBox і TextBox У палітрі компонентів Toolbox відкрийте вкладку Data і перетягніть на форму компонент...

Украинкский

2013-06-30

215.38 KB

1 чел.

Лабораторна робота 3. Візуальне програмування – робота з БД Компонентне програмування – робота з об'єктами БД. (2 год)

Мета роботи:

Зв'язування даних з елементами управління ListBox і TextBox

  1.  У палітрі компонентів Toolbox відкрийте вкладку Data і перетягніть  на форму компонент sqlDataAdapter. Якщо в налаштуваннях проекту такого компонента не виявиться, то клацніть на вкладці Data палітри Toolbox правою кнопкою миші і підключіть цей компонент командою Choose Items
  2.  У вікні майстра налаштування постачальника клацніть по кнопці New Connection і виберіть потрібний файл БД
  3.  Тут в текстовому полі пропонується вказати SQL-запит, який постачальник даних повинен виконувати за замовчанням при заповненні набору даних DataSet.
  4.  Клацніть на кнопці Query Builder, в діалоговому вікні Add Table виберіть із списку таблицю і по клацанню на кнопці Add вкладки Tables (потім на Close) відзначте в інтерфейсі прапорці проти потрібних полів таблиці, аби майстер написав для них текст запиту
  5.  Клацніть на кнопці OK вікна Query Builder і текст запиту буде поміщений в поле майстра

  1.  Нам буде потрібно лише читання даних, тому інші можливості потрібно відключити клацанням на кнопці Advanced Options, скинувши непотрібні прапорці

Слідуйте за вказівками майстра.

  1.  Клацніть на кнопці Finish, щоб завершити створення і налаштування об'єктів постачальника даних (екземплярів sqlDataAdapter і sqlConnection) і зберегти параметри в налаштунках проекту
  2.  У панелі Solution Explorer відкрийте файл Form1.Designer.cs і переконайтеся, що майстер створив необхідний код з налаштуваннями постачальника, до складу якого входять екземпляри класів sqlCommand, sqlDataAdapter і sqlDbConnection

Описану процедуру можна в будь-якому місці перервати клацанням на кнопці Cancel майстра налаштувань і повернутися до неї у будь-який час. Для цього досить клацнути в нижній частині робочої області на екземплярі класу sqlDataAdapter правою кнопкою миші і виконати команду Configure Data Adapter (або виділити об'єкт постачальника і виконати ту ж команду через пункт Data головного меню)

Отже, у нас є об'єкт з'єднання з БД і об'єкт-посередник між базою і набором даних (кешем оперативної пам'яті), який повинен виконувати команди SQL і управляти потоками даних. Тепер потрібно створити сам набір даних як екземпляр класу DataSet.

  1.  Клацніть правою кнопкою миші на екземплярі sqlDataAdapter1 в нижній частині робочої області і виконайте команду Generate DataSet (те ж саме можна виконати через меню Data)

У вікні майстра Generate DataSet, що з'явилося, клацніть на кнопці OK

Буде створений об'єкт набору даних dataSet11, який завантажуватиме два стовпці таблиці Student згідно SQL-запиту, вказаного в налаштуваннях постачальника sqlDataAdapter1.

Для відображення набору даних об'єкту dataSet11 застосуємо список ListBox.

  1.  Помістіть на форму з вкладки Common Controls палітри компонентів екземпляр компоненту ListBox.
  2.  Налаштуйте список за допомогою вікна властивостей таким чином:

Клацніть властивість DataSource, виберіть папку Other Data Sources, з джерел даних проекту виберіть таблицю Student

Властивості DisplayMember  призначте поле  St_Name.

Параметризовані запити

Використання декількох постачальників і декілька наборів  даних

Додамо ще по одному екземпляру класів sqlDataAdapter і DataSet. Для них ми сформуємо SQL-команду, яка вибиратиме з джерела один запис таблиці, відповідний виділеному в списку ListBox конкретному студенту за його номером.  Значення полів цього запису будемо відображати в текстових полях форми.

Додавання і налаштування постачальника даних

  1.  Перейдіть в режим View Designer і помістіть на форму ще один компонент sqlDataAdapter з іменем sqlDataAdapter2,
  2.  У майстрі налаштувань адаптера Data Adapter Configuration Wizard перейдіть на вкладку Generate the SQL statements, клацніть на кнопці Advanced Options і скиньте всі прапорці вкладки Advanced Options, оскільки постачальник лише читатиме дані
  3.  Клацніть на кнопці Query Builder, у вікні, що з'явилося, виберіть потрібну таблицю і клацніть один раз на кнопці Add, а потім - Close
  4.  У списку, що з'явився відзначте прапорці проти кожного поля, з яких повинен читати дані адаптер даних
  5.  У поле Filter рядка Student_ID введіть =?, після чого в третій секції буде згенерована команда SELECT

Завершіть роботу майстра.

Тепер потрібно створити пов'язаний з постачальником об'єкт набору даних DataSet, який зберігатиме дані таблиці Customers. Цей набір даних має бути узгоджений по структурі з налаштуваннями постачальника, тому створимо його за допомогою майстра. У панелі Solution Explorer зверніть увагу, що доки на формі  присутній лише один вузол DataSet1.xsd, який був створений майстром на попередніх етапах виконання роботи і який описує клас набору даних, відповідний зберіганню значень лише двох полей таблиці Student. Зараз створимо ще один такий вузол.

  1.  Клацніть правою кнопкою миші на об'єкті sqlDataAdapter2, виконайте команду Generate DataSet контекстного меню (або в Data головного меню проекту) і налаштуйте однойменне вікно майстра

Зв'язування елементів форми з набором даних

Приєднаємо до об'єкту listBox і поле Student_ID, значення якого заповнюватимуться в колекцію Items списку. Ця колекція не буде видна користувачу, але значення її будь-якого елементу завжди можна отримати для виділеного рядка списку і надалі використовувати як параметр в команді другого постачальника.

  1.  Виділіть на формі об'єкт listBox і встановіть його властивість ValueMember в значення Student.Student_ID  через список, що розкривається

Згенеруйте обробник  listBox1_SelectedIndexChanged  подвійним клацанням на списку і додайте в нього код

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)

       {

           // Очистить второй набор данных

           dataSet21.Clear();

           // Если выбран элемент списка, заполнить второй набор

           if (listBox1.SelectedIndex != -1)

           {

               sqlSelectCommand2.Parameters[0].Value = listBox1.SelectedValue;

               sqlDataAdapter2.Fill(dataSet21);

           }

       }

Зв'язування набору даних з текстовими полями

Розмістіть на формі заголовки полів і текстові поля, в які будуть виводитися дані з таблиці.

По черзі виділіть кожне текстове поле, в панелі Properties розкрійте його властивість (DataBindings).Text і приєднайте відповідне поле з другого набору даних

Виконайте збірку рішення і запустіть його на виконання. Результат роботи:


 

А также другие работы, которые могут Вас заинтересовать

9356. Энергетический и кинематический расчёт привода, выбрать материал зубчатых передач и определить допускаемые напряжения для них 296 KB
  Введение Технический уровень всех отраслей народного хозяйства в значительной мере определяется уровнем развития машиностроения. На основе развития машиностроения осуществляется комплексная механизация и автоматизация производственных п...
9357. Спроектировать многокамерную барабанную мельницу (рассчитать угловую скорость барабана, мощность привода, производительность мельницы) 751 KB
  ЗАДАНИЕ Спроектировать многокамерную барабанную мельницу (рассчитать угловую скорость барабана, мощность привода, производительность мельницы) в соответствии с ниже приведенными данными: L - длина барабана D - диаметр барабана к...
9358. Редуктор цилиндрический двухступенчатый 290.5 KB
  Исходные данные Редуктор двухступенчатый, насоосный Кинематическая схема редуктора: Дано: 1. Вращающий момент на тихоходном валу редуктора 2. Угловая скорость выходного вала редуктора 3. Срок службы редуктора и режим его работы (постоянный...
9359. Определить деформирующие характеристики грунта, коэффициент относительной сжимаемости 72.5 KB
  Цель работы:определить деформирующие характеристики грунта, коэффициент относительной сжимаемости m0, модуль линейной деформации Е0. Оборудование: компрессионный прибор одометр, индикаторы часового типа, бумажные фильтры, набор гирь. Методика ...
9360. Прочностные характеристики на срез. Испытания грунта на срез 41 KB
  Цель работы: установить зависимость предельного сопротивления ?пред от величины, сжимающих эффективных давлений Рэф. Определить основные прочностные характеристики: угол внутреннего трения, с - удельное сцепление. Методика испытаний Н...
9361. Мікропроцесорна лабораторія Мікролаб КР580ІК80 1.21 MB
  Мікропроцесорна лабораторія Мікролаб КР580ІК80 Вступ Даний курс призначений для вивчення елементів апаратного і програмного забезпечення систем, побудованих на базі мікропроцесора KP580ІK80. У першому розділі дані загальні принципи побудови пристрої...
9362. Розробка принципової схеми гідро- та пневмоприводів і систем гідро пневмоавтоматики з раціональним вибором робочого середовища 208 KB
  Вступ Курсова робота з дисципліни Гідравліка, гідро- та пневмоприводи є необхідним практичним додатком до теоретичного курсу, а також підготовчим етапом до виконання курсового та дипломного проектування при розробці гідроприводу та пневмориводу мета...
9363. Разработка цифрового измерителя температуры 178.5 KB
  ТЕМА: Разработка цифрового измерителя температуры В качестве цифрового датчика температуры в схеме стенда используется цифровой датчик DS18B20 фирмы DallasSemiconductor (D1), который с помощью однопроводного интерфейса подключен к разряду 7 по...
9364. Минералы и горные породы - строительные материалы природы 101.5 KB
  Минералы и горные породы - строительные материалы природы. Минералы - природные тела, однородные по химическому составу и природным свойствам, образующиеся в глубинах и на поверхности Земли. Известно около 3000 видов минералов. Наиболее распрос...