====== Лабораторная работа №5 ======
NO:user
READ:@ALL
EDIT:@ALL
====== СОЗДАНИЕ КЛИЕНТСКОЙ ЧАСТИ ПРИЛОЖЕНИЯ ДЛЯ ПРОСМОТРА, РЕДАКТИРОВАНИЯ ДАННЫХ БД. ВЫЗОВ ХРАНИМЫХ ПРОЦЕДУР ИЗ КЛИЕНТСКОЙ ЧАСТИ ======
Цель работы – научиться создавать клиентское приложение для работы с
базой данных с применением встроенных инструментов на Visual C# 2010.
===== Содержание работы: =====
- Выполнение всех заданий по ходу лабораторной работы.
- Выполнение индивидуальных заданий.
===== Пояснения к выполнению работы =====
Для создания клиентского приложения на Visual C# 2010 используем пример базы данных c названием DB_Book, которая была создана в лабораторной работе №2. При выполнении примеров и заданий обращайте внимание на соответствие названий БД, таблиц и других объектов проекта.
==== 1. На Visual C# 2010 создаём приложение WindowsForms: ====
Файл -> Создать -> Проект -> Приложение WindowsForms (Рис.1)
{{:users:perfilov:my_project:lab5_0.png|}}
Рисунок 1.
==== 2. В проекте выбираем меню 'Сервис ⇒ Подключиться к базе данных'(рис. 2). ====
{{:users:perfilov:my_project:lab5_0_0.png|}}
Рисунок 2.
==== 3. В открывшемся окне введите имя сервера и базы данных, нажмите OK (рис. 3). ====
{{ :users:perfilov:my_project:lab5_6.png }}
Рисунок 3.
==== 4. Слева в окне 'Обозреватель серверов' можно увидеть подключенную базу данных(рис. 4). ====
{{:users:perfilov:my_project:lab5_0_1.png|}}
Рисунок 4
==== 5. Создать 5 форм, переименовать их на FormPurchases, FormBooks, FormAuthors, FormDeliveries, FormPublish соответственно(Рис. 5,6,7). ====
{{ :users:perfilov:my_project:lab5_0_2.png }}
Рисунок 5.
{{ :users:perfilov:my_project:lab5_0_3.png }}
Рисунок 6.
{{ :users:perfilov:my_project:lab5_0_4.png }}
Рисунок 7.
==== 6. На каждую форму добавить по компоненту типа DataGridView(рис. 8). ====
{{ :users:perfilov:my_project:lab5_0_5.png }}
Рисунок 8.
==== 7. Выберем источник данных, для это во вкладке нажать 'Выберите источник данных ⇒ Добавить источник данных проекта ⇒ Базы данных ⇒ Набор данных ⇒ Далее' и выбрать необходимые таблицы(рис.9, 10, 11, 12). ====
{{ :users:perfilov:my_project:lab5_0_6.png }}
Рисунок 9.
{{ :users:perfilov:my_project:lab5_8.png }}
Рисунок 10.
{{ :users:perfilov:my_project:lab5_9.png }}
Рисунок 11.
{{ :users:perfilov:my_project:lab5_10.png }}
Рисунок 12.
==== 8. На основной форме создать 4 компонента типа Button и в соответствующих методах Click вызвать соответствующие формы с помощью кода: ====
для FormAuthors:
FormAuthors myForm3 = new FormAuthors();
myForm3.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();
{{ :users:perfilov:my_project:lab.png }}
Рисунок 13.
==== 9. На форму добавить компонент типа BindingNavigator. ====
Настроить у BindingNavigator свойство BindingSource для связи с созданной таблицей(значение должно совпадать со значением свойства элемента DataGridView).
Добавить компонент типа BindingNavigator на остальные формы (рис. 14).
{{ :users:perfilov:my_project:lab1.png }}
Рисунок 14.
==== 10. Проверить работу приложения. ====
==== 11. На форму FormBooks добавить 3 компонента типа TextBox и 2 компонента типа ComboBox. ====
У 1-го компонента **TextBox** изменить свойства:
**(DataBinding)**
**Text** booksBindingSource - ID Книги
У 2-го компонента **TextBox** изменить свойства:
**(DataBinding)**
**Text** booksBindingSource - Название
У 1-го компонента **ComboBox** изменить свойства:
**(DataBinding)**
**SelectedValue** booksBindingSource – Code_author
**DataSource** authorsBindingSource
**DisplayMember** Автор
**ValueMember** Code_author
У 3-го компонента **TextBox** изменить свойства:
**(DataBinding)**
**Text** booksBindingSource - Количество страниц
У 2-го компонента **ComboBox** изменить свойства:
**(DataBinding)**
**SelectedValue** booksBindingSource – Code_publish
**DataSource** publishinghouseBindingSource
**DisplayMember** Публикация
**ValueMember** Code_publish (рис. 15)
{{ :users:perfilov:my_project:lab5_12.png }}
Рисунок 15.
==== 12. У компонента DataGridView убрать все галочки со свойств редактирования и добавления (рис. 16). ====
{{ :users:perfilov:my_project:lab5_13.png }}
Рисунок 16.
==== 13. На форму FormBooks добавить компонент типа Button (кнопка обновления данных), свойство Text изменить на «Обновить» и прописать событие Click: ====
this.Validate();
this.booksBindingSource.EndEdit();
this.booksTableAdapter.Update(this.dB_BOOKSDataSet.Books);
{{ :users:perfilov:my_project:lab5_2.png }}
Рисунок 17.
==== 14. Аналогично для остальных форм добавить элементы типа TextBox. ====
==== 15. Проверить работу приложения. ====
==== 16. На форму FormBooks добавить 5 компонентов типа Button (рис. 18). ====
У 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 = "";
{{ :users:perfilov:my_project:lab5_3.png }}
Рисунок 18.
==== 17. Аналогично для остальных форм добавить элементы типа Button, которые будут запускать фильтры по соответствующим значениям полей текущей записи. ====
==== 18. Проверить работу приложения. ====
Назад: [[users:perfilov:my_project:index]]
{{tag>}}