Лабораторные работы БД. Отчет по лабораторной работе. 2 Используя ms access перенести полученную модель в бд, используя таблицы и схему данных
Скачать 5.14 Mb.
|
(DataBinding) Text booksBindingSource Code_book У 2-го компонента TextBox изменить свойства: (DataBinding) Text booksBindingSource Title_book У 1-го компонента ComboBox изменить свойства: (DataBinding) SelectedValue booksBindingSource – Code_author DataSource authorsBindingSource DisplayMember name_author У 3-го компонента TextBox изменить свойства: (DataBinding) Text booksBindingSource Pages У 2-го компонента ComboBox изменить свойства: (DataBinding) SelectedValue booksBindingSource – Code_publish DataSource publishinghouseBindingSource DisplayMember Publish ValueMember Code_publish 12. У компонента DataGridView убрать все галочки со свойств редактирования и добавления. 13. На форму FormBooks добавить компонент типа Button (кнопка обновления данных), свойство Text изменить на «Обновить» и прописать событие Click: this .Validate(); this .booksBindingSource.EndEdit(); this .booksTableAdapter.Update( this .dB_BOOKSDataSet.Books); 14. Аналогично для остальных форм добавить элементы типа TextBox 15. Проверить работу приложения. 16. На форму FormBooks добавить 5 компонентов типа Button. У 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 = "" ;. 17. Аналогично для остальных форм добавить элементы типа Button, которые будут запускать фильтры по соответствующим значениям полей текущей записи в объекте Grid. 18. Проверить работу приложения. 19. Создать форму, назвать FormProcedure. Рис. 1. Пример расположения компонентов на форме FormBooks 20. Добавить на главной форме в меню пункт с названием Работа с процедурами. В методе Click пункта меню написать код для запуска формы FormProcedure. 21. Зайти Tool -> Choose Toolbox Items. Поставить галочки на элементах SqlCommand и SqlConnection, применить изменения. 22. Добавить на форму компонент SqlConnection и в свойстве Connec- tionString выбрать DB_DOOK.mdf 23. Теперь можно подключить хранимую процедуру Count_purchases. На форму FormProcedure добавить компонент SqlCommand. Изменить следующие его свойства: Connection на SqlConnection1; CommandType на StoredProcedure; CommantText на Count_purchases. 24. У компонента SqlCommand1 выбрать свойтсво Parameters и в свойствах каждого входного параметра исправить свойство SqlDbType – на DateTime, а для выходного параметра свойство Value – Int. Также, если параметр со значением ReturnValue (параметр Direction) не создан, то необходимо создать его (он должен быть на самом верху) и задать ему имя @ReturnValue со свойством SqlDbType Int. 25. На форму FormProcedure добавить 3 компонента типа TextBox (имена соответственно TextBox1, TextBox2, TextBox3) и 1 компонент типа Button. Рядом с каждым компонентом TextBox поставить Label и исправить их свойства Text соответственно на «Количество покупок за указанный период», «Введите дату начала периода», «Введите дату конца периода». 26. На кнопке поменять название на «Выполнить запрос». В методе Click кнопки написать следующий код: 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[ "@ReturValue" ].Value; textBox3.Text = Convert .ToString(count_save); 27. Проверить работу приложения. Отчеты во многом похожи на формы и тоже позволяют получить результаты работы запросов в наглядной форме, но только не на экране, а в виде распечатки на принтере. Таким образом, в результате работы отчета создается бумажный документ. На Visual C# есть несколько способов создания отчетов. Один из способов создание отчетов это использование генератора отчета FastReport. Генератор можно скачать с официального сайта компании https://www.fast- report.com/ru/download/ После установки генератора необходимо перезапустить Visual C#. Затем необходимо добавить компоненты FastReport. Для создания отчета необходимо поместить компонент Report на главную форму. После этого двойным щелчком нажать на компонент и выбрать данные, которые нам нужны для составления отчета. После этого откроется сам редактор отчетов. Для сохранения изменений нужно просто сохранить файл отчета в любом месте. Структура отчета Отчеты состоят из разделов или секций (Bands), а разделы могут со- держать элементы управления. Для настройки разделов надо нажать на рабочей области на кнопку «Настроить бэнды». 1. Структура отчета состоит из следующих разделов: заголовок отчета, подвал отчета, заголовок страници, подвал страници, область данных, заголовок колонки, подвал колонки, фоновый. 2. Раздел заголовок отчета служит для печати общего заголовка отчета. 3. Раздел заголовок страницы можно использовать для печати подзаголовков, если отчет имеет сложную структуру и занимает много страниц. Здесь можно также помещать и номера страниц, если это не сделано в нижнем колонтитуле. 4. В области данных размещают элементы управления, связанные с содержимым полей таблиц базы. В эти элементы управления выдаются данные из таблиц для печати на принтере. Эти разделы будут на печати воспроизводиться столько раз, сколько записей присутствует в привязанном запросе или таблице. 5. Раздел подвал страницы используют для тех же целей, что и раздел заголовок страницы. Можно использовать для подстановки полей для подписей должностных лиц, если есть необходимость подписывать отчет на каждой странице. 6. Разделы колонок используют для размещения дополнительной информации или итоговой информации по всем данным отчета. Печатается сверху или снизу области данных. 7. Для предварительного просмотра отчета в том виде, как он будет расположен на бумаге, необходимо вызвать метод Show компонента Report (на главной форме в меню добавить раздел и в методе Click написать этот метод, например, Report1.Show()). Пример отчета в режиме «Конструктор» представлен на рис 2, а в режиме предварительного просмотра – на рис. 3. Рис 2. Пример отчета в режиме «Конструктор» Рис. 3. Пример отчета в предварительном просмотре Задание 1. Создание отчета в табличной форме, который выбирает из таблицы Books все поля, кроме кодов, из таблицы Publish_house − название издательства и место издательства, из таблицы Authors − имя автора. 1. В проекте на главной форме в меню добавить пункт меню Отчеты, а также подпункты: Отчет в табличной форме; Отчет в свободной форме; Отчет с группировкой по двум таблицам. 2. В проекте на главную форму добавить 3 компонента Report 3. У первого компонента Report изменить DataSet (стрелка на компоненте Task -> Select DataSet) на соответствующие данные необходимые для отчета. Открыть окно дизайна отчета (двойным щелчком по компонен- ту). 4. В свойствах включить такие разделы (настроить бэнды), как заголовок отчета, заголовок данных, данные. 5. В разделе заголовок отчета разместить метку (компонент Текст). В свойствах изменить его внешний вид и подпись «Пример табличного отчета». 6. В разделе заголовок данных установить компонент Таблица (для имитации обрамления шапки таблицы) и написать в ней Название книги, Автор, Издательство. 7. На раздел данные перетянуть объекты с панели данные по следующему пути: Источники данных -> Books -> title_book Источники данных -> Books -> Autors -> name_autor Источники данных -> Books -> Publishing_house -> publish Расположить компоненты симметрично под надписями в таблице. 8. В главной форме приложения в подпункте Отчет в табличной форме в методе Click написать команду: Report1.Show(). 9. Запустить приложение, проверить работу. Задание 2. Создание отчета в свободной форме с данными из первого задания. Создадим карточку книги для библиотечной картотеки. Особенность отчета в свободной форме в том, что он создает шаблон на каждую отдельную запись таблицы, другими словами, он создается по документам, у которых нет шапки и примечаний. Примером таких документов может служить приходный или расходный кассовый ордер, этикетка для товара или ценник в магазине, пригласительное письмо и т.д. 1. У второго компонента Report установить свойства DataSet на необходимые. В свойствах (настроить бэнды) включить раздел Данные. 2. На раздел данные перетянуть объекты с панели данные по следующему пути: Источники данных -> Books -> title_book Источники данных -> Autors -> name_autor Источники данных -> Publishing_house -> publish 3. В главной форме приложения в подпункте Отчет в свободной форме в методе Click написать команду: Report2.Show(). 4. Запустить приложение, проверить работу. Задание 3. Создание отчета по двум таблицам. Создадим отчет с группировкой, в котором сначала будут выводиться данные автора книги из таблицы Authors, а затем список книг, которые написал этот автор. 1. У третьего компонента Report установить свойства DataSet на необходимые. В свойствах (настроить бэнды) включить разделы: заголовок отчета, данные. 2. В разделе заголовок отчета разместить метку (компонент Текст). В свойствах изменить ее внешний вид и подпись «Отчет по авторам и написанным книгам». 3. Вызвать мастер группировки. Панель Отчёт -> Мастер группировки. В качестве условия группировки указать поле, по которому будет осуществляться группировка данных: Autors -> name_autor. Нажать Добавить. 4. В результате получим бэнды: Заголовок группы (содержит имя автора), Данные, Подвал группы. На раздел данные перетенуть обьекты с панели данные по следующему пути: Источники данных -> Autors -> Books -> title_book. Пример представлен на рис. 4. 5. В главной форме приложения в подпункте Отчет с группировкой по двум таблицам в методе Click написать команду: Report3.Show(). 6. Запустить приложение, проверить работу. Рис. 4. Пример отчета Задания к лабораторной работе №9 На Visual C# создать новый проект для индивидуальной БД, созданной в предыдущих лабораторных работах, создать интерфейс, включающий все функции и процедуры, которые описаны по ходу текущей лабораторной работы. Результаты запросов поиска вывести в виде отчетов. |