Попередня сторінка              Зміст                Наступна сторінка               Електронні посібники ВНТУ

 

 

ЛАБОРАТОРНА РОБОТА № 8
СТВОРЕННЯ КЛІЄНТСЬКОЇ ЧАСТИНИ ДОДАТКУ ДЛЯ ПЕРЕГЛЯДУ, РЕДАГУВАННЯ ДАНИХ БД. ВИКЛИК ПРОЦЕДУР З КЛІЄНТСЬКОЇ ЧАСТИНИ

 

 

Мета роботи: навчитися створювати клієнтську програму для роботи з БД із застосуванням вбудованих інструментів на Visual C # 2005.

 

8.1 Пояснення до виконання роботи

 

Для створення клієнтського додатка на Visual C # 2005 використовуємо приклад БД c назвою DB_Books, яка була створена в лабораторній роботі №6. При виконанні прикладів і завдань звертайте увагу на відповідність назв БД, таблиць та інших об'єктів проекту.

На Visual C # 2005:

  1. У проекті вибираємо меню Tools => Connect to DataBase.
  2. У вікні, яке відкрилося, в полі Data Source ставимо Microsoft SQL Server, в поле Server Name – SQLEXPRESS, далі в поле Select or enter DB name обираємо ім'я БД, до якої будемо підключатися, і натискаємо OK.
  3. Тепер, відкривши вікно Server explorer, можна побачити підключену БД. Натиснувши на неї, у вікні властивостей копіюємо Connection String, ще буде в нагоді.
  4. На форму додати 5 компонентів типу DataGridView (перейменувати компоненти на Purchases, Books, Authors, Deliveries, Publish).
  5. У вкладці Data виберемо Add New Data Source. У вікні, яке з’явилось, виберемо DataBase і натиснемо Next. Вибираємо нашу БД, тиснемо Next. У вікні, яке з’явилось, поставимо галочку на пункті Table (вибираємо всі створені таблиці). Тиснемо Finish.
  6. У кожній таблиці DataGridView змінимо властивість DataSource на відповідно назві цієї таблиці (рис.8.1):
  7.  

    Рисунок 8.1

     

  8. На основній формі (Form1) додати компонент. У редакторі меню зробити перший пункт «Робота з таблицями» і в підменю пункти: «Автори», «Книги», «Видавництва», «Постачальники», «Поставки».
  9. Створити п'ять форм, кожну з яких назвати: FormAuthors, FormPurchases, FormBooks, FormDeliveries, FormPublish.
  10. На основній формі в підпунктах меню в відповідних методах Click викликати відповідні форми за допомогою коду:
  11. для FormAuthors:

    FormAuthors myForm2 = new FormAuthors();

    myForm2.Show();

    для FormPurchases:

    FormPurchases myForm3 = new FormPurchases();

    myForm3.Show();

    для FormBooks:

    FormBooks myForm4 = new FormBooks();

    myForm4.Show();

    для FormDeliveries:

    FormDeliveries myForm5 = new FormDeliveries();

    myForm5.Show();

    для FormPublish:

    FormPublish myForm6 = new FormPublish();

    myForm6.Show();

  12. На форми FormAuthors, FormPurchases, FormBooks, FormDeliveries, FormPublish додати по парі компонент типу DataGridView і Binding-Navigator. Налаштувати у DataGridView властивість DataSource для зв'язку з відповідним джерелом даних. Потім необхідно налаштувати у BindingNavigator властивість BindingSource для зв'язку зі створеною таблицею (значення має збігатися із значенням властивості елемента DataGridView).
  13.  Перевірити роботу додатка.
  14. На форму FormBooks додати 3 компонента типу TextBox і 2 компонента ComboBox.
  15. У 1-го компонента TextBox змінити властивості:

    (DataBinding)

    Text booksBindingSource - Code_book

    У 2-го компонента TextBox змінити властивості: (DataBinding)

    Text booksBindingSource - Title_book

    У 1-го компонента ComboBox змінити властивості: (DataBinding)

    SelectedValue booksBindingSource - Code_author

    DataSource authorsBindingSource

    DisplayMember name_author

    ValueMember Code_author

    У 3-го компонента TextBox змінити властивості: (DataBinding)

    Text booksBindingSource - Pages

    У 2-го компонента ComboBox змінити властивості: (DataBinding)

    SelectedValue booksBindingSource - Code_publish

    DataSource publishinghouseBindingSource

    DisplayMember Publish

    ValueMember Code_publish

  16. У компонента DataGridView прибрати всі галочки з властивостей редагування і додавання.
  17. На форму FormBooks додати компонент типу Button (кнопка оновлення даних), властивість Text змінити на «Оновити» та прописати подію Click:
  18. this.Validate();

    this.booksBindingSource.EndEdit();

    this.booksTableAdapter.Update(this.dB_BOOKSDataSet.Books);

  19. Аналогічно для інших форм додати елементи типу TextBox
  20. Перевірити роботу додатка.
  21. На форму FormBooks додати 5 компонентів типу Button.
  22. У 1-го компонента Button змінити властивості і метод:

    Text Фільтр по поточному видавництву;

    У методі Click кнопки написати код:

    int bb = dataGridView1.CurrentCell.RowIndex;

    booksBindingSource.Filter = "Code_Publish = " +

    dataGridView1[4,bb].Value;.

    У 2-го компонента Button змінити властивості і метод:

    Text Фільтр за поточною назвою книги.

    У методі Click кнопки написати код:

    int bb = dataGridView1.CurrentCell.RowIndex;

    booksBindingSource.Filter = "Title_book = " +

    dataGridView1[1, bb].Value;.

    У 3-го компонента Button змінити властивості і метод:

    Text Фільтр по поточному автору.

    У методі Click кнопки написати код:

    int bb = dataGridView1.CurrentCell.RowIndex;

    booksBindingSource.Filter = "Code_Author = " +

    dataGridView1[0, bb].Value;.

    У 4-го компонента Button змінити властивості і метод:

    Text Фільтр за кількістю книг.

    У методі Click кнопки написати код:

    int bb = dataGridView1.CurrentCell.RowIndex;

    booksBindingSource.Filter = "Pages = " +

    dataGridView1[3, bb].Value;.

    У 5-го компонента Button змінити властивості і метод:

    Text Зняти фільтр.

    У методі Click кнопки написати код:

    booksBindingSource.Filter = "";.

  23. Аналогічно для інших форм додати елементи типу Button, які будуть запускати фільтри по відповідним значенням полів поточного запису в об'єкті Grid.
  24. Перевірити роботу додатка.
  25. Створити форму під назвою FormProcedure.
  26.  

    Рисунок 8.2 — Приклад розташування компонентів на формі From Books

     

  27. Додати на головній формі в меню пункт з назвою Робота з процедурами. У методі Click пункту меню написати код для запуску форми FormProcedure (див. приклад коду в пункті 9 даної лабораторної роботи).
  28. Зайти Tool -> Choose Toolbox Items. Поставити галочки на елементах SqlCommand і SqlConnection, застосувати зміни.
  29. Додати на форму компонент SqlConnection і у властивості ConnectionString вибрати DB_DOOK.mdf
  30. Тепер можна підключити збережену процедуру Count_purchases, яку слід виконати таким чином:
  31. Приклад створення процедури з вхідним і вихідним параметрами.

    Створити процедуру для визначення кількості замовлень, зроблених за вказаний період:

    CREATE PROC count_purchases

    @ D1 SMALLDATETIME, @ d2 SMALLDATETIME,

    @c INT OUTPUT

    AS

    SELECT @ c = count (Code_purchase) from Purchases WHERE Date_order

    BETWEEN @ d1 AND @ d2

    SET @c = ISNULL (@ c, 0)

    Завдання. Створіть дану процедуру в розділі Stored Procedures БД DB_Books через утиліту SQL server Management Studio.

    Запустити її за допомогою команд:

    DECLARE @ c2 INT

    EXEC count_purchases '01 -jun-2006 ', '01 -jul-2006', @ c2 OUTPUT

    SELECT @ c2

    На форму FormProcedure додати компонент SqlCommand. Змінити такі його властивості:

    Connection на SqlConnection1;

    CommandType на StoredProcedure;

    CommantText на Count_purchases.

  32. У компонента SqlCommand1 вибрати властивість Parameters і у властивостях кожного вхідного параметра виправити властивість SqlDbType – на DateTime, а для вихідного параметра властивість Value – Int. Також, якщо параметр зі значенням ReturnValue (параметр Direction) не створений, то необхідно створити його (він повинен зверху) і задати йому ім'я @ReturnValue з властивістю SqlDbType - Int.
  33. На форму FormProcedure додати 3 компонента типу TextBox (Імена відповідно TextBox1, TextBox2, TextBox3) і 1 компонент типу Button. Поруч з кожним компонентом TextBox поставити Label і виправити їх властивості Text відповідно на «Кількість покупок за вказаний період»,«Введіть дату початку періоду»,«Введіть дату кінця періоду».
  34. На кнопці змінити назву на «Виконати запит». У методі Click кнопки написати наступний код:
  35. int count_save;

    sqlCommand1.Parameters["@d1"].Value =

    Convert.ToDateTime(textBox1.Text);

    sqlCommand1.Parameters["@d2"].Value =

    Convert.ToDateTime(textBox2.Text);

    sqlConnection1.Open();

    sqlCommand1.ExecuteNonQuery();

    sqlConnection1.Close();

    count_save = (int)sqlCommand1.Parameters["@ReturnValue"].Value;

    textBox3.Text = Convert.ToString(count_save);

  36. Перевірити роботу додатка.

 

8.2 Завдання до лабораторної роботи

 

На Visual C # 2005 створити новий проект, далі для індивідуальної БД, створеної в лабораторній роботі №6, створити інтерфейс, що включає всі функції і процедури, які описані в даній лабораторній роботі.

 

 

8.3 Контрольні запитання

 

Запитання при перевірці виконаного завдання, що стосуються використаних функцій і процедур, їх призначення та використання.