
- •Внимание !!!!!! студенты заочного отделения !!!!
- •Инновационные технологии в подготовке будущих специалистов прикладной информатики
- •1. Теоретические основы практикума Технология ado.Net
- •Базовые классы подсоединенных объектов
- •Базовые классы автономных объектов
- •2. Практикум Лабораторная работа № 1 - Создание базы данных в средеMssqlServerManagement
- •Лабораторная работа № 2 - Резервное копирование и восстановление базы данных
- •Лабораторная работа № 3 - Разработка формы для работы с данными в средеVsualStudioбез кода
- •Лабораторная работа № 4 – СозданиеSql- запросов в среде sql Server Management Studio
- •Лабораторная работа № 5 - Программирование с помощью встроенного языка transact sql в Microsoft Sql Server
- •Лабораторная работа № 6 - Разработка формы работы с магазинами с использованием объектаCommand
- •Лабораторная работа № 7 - Создание, удаление и редактирование данных в отсоединенной среде
- •Лабораторная работа № 8 - Быстрое создание пользовательского интерфейса посредством связывания с данными
- •Лабораторная работа № 9 - Безопасность вMssqlServer
- •Лабораторная работа № 10 - Создание отчетных форм для баз данных средствамиMsVisualStudio 2008
- •Лабораторная работа № 11 – Самостоятельная работа по автономным и подключенным объектам
- •3. Технологии, использующиеся при выполнении лабораторных работ
- •Список литературы
- •Приложение 1
Лабораторная работа № 10 - Создание отчетных форм для баз данных средствамиMsVisualStudio 2008
Цель работы: Познакомиться с возможностями по созданию отчетов, предоставляемыми MS Visual Studio.
Задание №1. В среде MS Visual Studio необходимо создать Windows-приложение, которое позволит выводить и печатать прайс-лист организации, представленного на рисунке 26. Отчет необходимо создать средствами MS Report Viewer.
Рисунок 26 – Отчет, созданный средствами MS Report
Ход работы:
Добавьте в Ваш проект новый источник данных, содержащий все сведения из таблицы «Модель», используя технологию 19. Обратите внимание, что в окне SolutionExplorer появился новый элемент MMM_ВашеФИО_DataSet.xsd
Добавьте в проект конструктор отчета, для этого:
В окне SolutionExplorer вызовите контекстное меню решения и выберите Add New item закладка Reporting Report Кнопка Add
Обратите внимание, что в окне SolutionExplorer появился новый элемент Report1.rdlc
Добавьте в конструктор таблицу, для этого:
В панели инструментов конструктора отчета щелкните элемент «Таблица», а затем щелкните в области конструктора отчета.
В конструкторе отчетов появится таблица с тремя столбцами, занимающими всю ширину отчета.
В первом столбце щелкните маркер правой кнопкой мыши и выберите команду «Вставить столбец слева».
Добавьте данные в таблицу конструктора отчетов, для этого:
В окне «Data Source», найдите источник данных, созданный в пункте 2, разверните узел таблицы Модель, чтобы показать поля данных. Затем выполните следующие шаги:
Перетащите поле Код модели из окна DataSource во вторую строку (строку детализации) первого столбца в таблице. При этом выполняются два действия. Во-первых, в ячейку сведений помещается текст =Fields!КодМодели.Value. Во-вторых, заголовок столбца автоматически помещается в первую строку, непосредственно над выражением поля.
Аналогично перетащите поля название модели, описание модели, цена из окна «Источники данных» в строку детализации остальных столбцов в таблице.
Добавьте в Ваш проект новую форму. Добавьте обработчик для открытия только что добавленной формы при выборе в главном меню проекта пункта ОтчетыПрайс-лист
Добавьте элемент управления ReportViewer на форму, для этого:
Перетащите элемент управления ReportViewer из панели инструментов на форму.
Откройте панель смарт-тегов в элементе управления ReportViewer, щелкнув треугольник в правом верхнем углу. Щелкните раскрывающийся список «Выбор отчета» и выберите файл Report1.rdlc
На панели смарт-тегов щелкните элемент «Закрепление в родительском контейнере (Dock in Parent Container)».
Запустите проект и просмотрите отчет на форме.
Задание №2: В среде MS Visual Studio необходимо создать Windows-приложение, которое позволит формировать и передавать в MS Excel отчет по заказам вида, изображенного на рисунке 27. Отчет должен быть создан с использованием технологии COM.
Рисунок 27 –Отчет по заказам в MS Excel
Ход работы:
Указание: При выполнении данного задания используйте лекционный материал (Лекция – Отчеты в Visual Studio).
Добавьте в главное меню Вашего проекта пункт Отчеты Заказы
Добавьте обработчик для открытия программы MS Excel при выборе только что добавленного пункта меню. Для этого
Подключите библиотеку для работы с MS Excel в меню Project (Проект) команду Add Reference (Добавить ссылку) В открывшемся диалоговом окне Add Reference (Добавить ссылку) перейдите на вкладку СОМ и выберите нужную библиотеку объектов. Например, для взаимодействия с Microsoft Excel требуется подключить библиотеку Microsoft Excel 11.0 Objecl Library. Цифра 11 обозначает установленную на компьютере версию Microsoft Excel (11 соответствует версии Microsoft Office 2003) Нажмите кнопку ОК.
Добавьте в код ГЛАВНОЙ ФОРМЫ проекта ссылку на пространство имен, содержащие объекты продуктов Microsoft Office:
Imports Microsoft.Office.Interop
Откройте обработчик пункта меню Отчеты Заказы и напишите код, запускающий программу MS Excel:
Dim ЗадайтеИмяПеременнойExcel As New Excel.Application
ИмяПеременнойExcel.Visible = True
Запустите проект и убедитесь, что при выборе в главном меню Отчеты Заказы открывается окно программы MS Excel.
Допишите обработчик на пункт меню Отчеты Заказы для добавления рабочей книги с рабочими листами в MS Excel. Для этого в обработчике:
Опишите и создайте переменную-экземпляр рабочей книги
Dim ЗадайтеИмяПеременнойРабочейКниги As Excel.Workbook
ИмяПеременнойРабочейКниги = ИмяПеременнойExcel.Workbooks.Add
Опишите переменную – экземпляр рабочего листа, присвойте ему значение первого листа рабочей книги, активизируйте его.
Dim ЗадайтеИмяПеременнойРабочегоЛиста As New Excel.Worksheet
ИмяПеременнойРабочегоЛиста = ИмяПеременнойРабочейКниги.Worksheets(1)
ИмяПеременнойРабочегоЛиста.Activate()
Выведите на рабочий лист заголовок отчета «заказы» и заголовки столбцов таблицы Заказы из вашей БД. (Номер заказа, Код магазина, Дата заказа). Зададим жирный крупный шрифт для заголовков. Для этого добавьте в код:
ИмяПеременнойРабочегоЛиста.Cells(1, 1) = "Заказы"
ИмяПеременнойРабочегоЛиста.Range("a2").Value = "Номер заказа"
ИмяПеременнойРабочегоЛиста.Range("b2").Value = "Код магазина"
ИмяПеременнойРабочегоЛиста.Range("c2").Value = "Дата заказа"
ИмяПеременнойРабочегоЛиста.Range("a1:c2").Font.Bold = True
ИмяПеременнойРабочегоЛиста.Range("a1:c2").Font.Size = 16
Запустите проект и убедитесь, что при выборе в главном меню Отчеты Заказы открывается окно программы MS Excel с рабочей книгой и активным первым рабочим листом.
Допишите обработчик на пункт меню Отчеты Заказы для выгрузки информации из таблицы Заказы в MS Excel. Для этого в обработчике:
Создайте и опишите переменную – экземпляр класса Command или DataView, которая извлекает данные из таблицы Заказ. Для этого, например, для Command:
Добавьте в код ссылку на пространства имен для работы с объектами ADO: Imports System.Data
Imports System.Data.SqlClient
В коде формы, в продолжение процедуры-обработчика меню ОтчетыЗаказы, опишите переменную и создайте экземпляр объекта Connection и задайте ей параметры подключения, используя технологии 9,10.
Опишите переменную и создайте экземпляр объекта Cоmmand, используя технологию 11. Cоздаваемый вами объект Command должен быть подключен к ранее созданному объекту Connection.
Задайте для только что созданного объекта Command текст запроса на выборку всех данных (SELECT *) из таблицы Заказы, используя технологию 12.
Откройте подключение к БД, используя технологию 15.
Выполните запрос объекта Command, используя технологию 18.
Выведите данные из переменной-экземпляра класса Command в ячейки рабочего листа. Для этого:
Откройте цикл, который перебирает все записи из объекта DataRead и записывает их в нужные ячейки Excel, начиная с третьей строки (потому что первая строка – заголовок отчета, вторая строка – заголовок таблицы уже заполнены ранее)
Dim I As Integer
I=3
While ИмяОбъектаDataReader.Read
‘ Выводим номер заказа в ячейку из строки i, столбца 1
ws.Cells(i, 1) = ИмяОбъектаDataReader (“ЗадайтеИмяСтолбцаИзНабораДанных,КоторыйВамНеобходимоВывести")
‘ Выводим код магазина в ячейку из строки i, столбца 2
ws.Cells(i, 2) = ИмяОбъектаDataReader (“ЗадайтеИмяСтолбцаИзНабораДанных,КоторыйВамНеобходимоВывести")
‘ Выводим дату заказа в ячейку из строки i, столбца 3
ws.Cells(i, 3) = ИмяОбъектаDataReader (“ЗадайтеИмяСтолбцаИзНабораДанных,КоторыйВамНеобходимоВывести")
i=i+1
End While
ИмяОбъектаDataReader.Close()
Добавьте формулы для расчета итоговой суммы заказа на рабочий лист Excel. Для этого необходимо в ячейку из строки с номером i+1, столбца 2 добавить такую формулу Excel: =Сумм(диапазон, по которому считается сумма). В нашей таблице Заказы не предусмотрен столбец суммы, поэтому, просто для примера!! Посчитаем сумму по коду магазинов. Код магазина у нас начинается выводиться в ячейке B3, заканчивает в ячейке столбца B, строки I-2. Для этого добавьте в обработчик такой код:
ws.Cells(i+1, 1) = "Сумма кода магазинов"
ws.Cells(i+1, 2) = "=Сумм(B3:B" & Cstr(I-2) & “)”
Запустите проект и убедитесь, что при выборе в главном меню Отчеты Заказы открывается в программе MS Excel отчет по данным из таблицы Заказы.
Задание №3: Самостоятельно измените созданное вами ранее приложение по отчету Заказов в Excel, добавив в него возможность просматривать информацию по Составу_заказов таким образом, чтобы приложение выглядело как изображение на рисунке 28.
Рисунок 28 –Отчет по составу заказов в MS Excel
Указание:
Создайте и опишите переменную – экземпляр класса Command или DataSet, которая извлекает данные из таблицы Состав_Заказа.
Выведите данные из переменной-экземпляра класса Command или DataSet в ячейки рабочего листа (Данные по Составу Заказа должны выводиться сразу после информации о заказе. Внимательно работайте с циклами)
Добавьте формулы для расчета в столбцы “Итого стоимость” (=цена+количество)