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 і приєднайте відповідне поле з другого набору даних

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


 

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

28355. Субъекты наследственного правопреемства. Недостойные наследники 14.75 KB
  Граждане и государство могут быть наследниками как по закону так и по завещанию. При наследовании по закону граждане находящиеся в живых к моменту смерти наследодателя а также дети зачатые при его жизни и родившиеся после его смерти; При наследовании по завещанию любые лица находившиеся в живых к моменту смерти наследодателя а также зачатые при его жизни и родившиеся после его смерти. Вопервых не имеют права наследовать ни по закону ни по завещанию граждане которые противозаконными действиями направленными против наследодателя...
28356. Наследство: понятие и состав 14.51 KB
  Наследство: понятие и состав. В его состав согласно ст. Состав наследственного имущества чрезвычайно разнообразен. Включаются в состав наследства средства транспорта а также другое имущество предоставленное государством или муниципальным образованием на льготных условиях наследодателю в связи с его инвалидностью или другими подобными обстоятельствами ст.
28357. Наследование по завещанию: понятие и общие положения 13.85 KB
  Наследодатель вправе сделать распоряжение своим имуществом на случай смерти путем составления завещания. Условия совершения завещания: совершается полностью дееспособным гражданином должно быть совершено лично наследодателем в завещании должно содержаться распоряжение только одного лица Принципы: свобода завещания – наследодатель по своему усмотрению выбирает наследников и завещает все или часть своего имущества также он вправе лишить наследства одного или нескольких наследников без объяснения причин в любое время может...
28358. Общие правила, касающиеся формы и порядка совершения завещания 14.64 KB
  Общие правила касающиеся формы и порядка совершения завещания. Форма завещания должна быть письменной. К содержанию завещания ГК РФ особых требований не предусматривается. Завещание обязательно должно быть подписано завещателем лично либо при помощи рукоприкладчика о чем делается запись при составлении завещания.
28359. Формы завещания, порядок их совершения 15.06 KB
  Завещание должно быть составлено в письменной форме и удостоверено нотариусом. В случае когда в соответствии с правилами ГК при составлении подписании удостоверении завещания или при передаче завещания нотариусу присутствуют свидетели не могут быть такими свидетелями и не могут подписывать завещание вместо завещателя: нотариус или другое удостоверяющее завещание лицо; лицо в пользу которого составлено завещание или сделан завещательный отказ супруг такого лица его дети и родители; граждане не обладающие дееспособностью в полном объеме;...
28360. Недействительность завещания. Изменение, отмена и исполнение завещания 14.57 KB
  В зависимости от основания недействительности завещание является недействительным в силу признания его таковым судом оспоримое завещаниеили не зависимо от такого признания ничтожное. По иску лица права или законные интересы которого нарушены этим завещанием оспаривание недействительности З. а также применение последствий недействительности З. отменено завещателем полностью или в соответствующей части в случае недействительности последующего З.
28361. Наследование по закону: понятие и общие положения 14.01 KB
  Дети супруг и родители наследодателя.Внуки наследодателя и их потомки наследуют по праву представления. Полнородные и неполнородные братья и сестры наследодателя его дудушка и бабушка как со стороны отца так и со стороны матери.и сестры родителей наследодателя.
28362. Обязательные наследники: понятие, категории обязательных наследников, размер доли 14.52 KB
  1149 ГК РФ определяет понятие права на обязательную долю в наследственном имуществе т. Право на обязательную долю вопервых не допускает исключения управомоченного лица из числа наследников на основании завещания вовторых не допускает снижения размера доли данного наследника ниже установленного минимума. Право на обязательную долю в наследстве удовлетворяется из оставшейся незавещанной части наследственного имущества даже если это приведет к уменьшению прав других наследников по закону на эту часть имущества а при недостаточности...
28363. Понятие, способы и сроки принятия наследства. Наследственная трансмиссия 14.62 KB
  Понятие способы и сроки принятия наследства. Со дня открытия наследства у наследников появляется право наследования. По своей правовой природе принятие наследства является односторонней сделкой в которой выражается воля наследника по поводу приобретения наследства. Принятие наследником части наследства означает принятие всего причитающегося ему наследства.