Работа с базами данных и библиотекой Excel в .NET С#
учебно-методическое пособие

Работа с базами данных и библиотекой Excel в .NET С#

Скачать:

ВложениеРазмер
Файл rabota_s_bd_i_ecxel_1.docx920.61 КБ

Предварительный просмотр:

Лабораторная работа по предмету

«Алгоритмизация и программирование»

 

Тема: Вывод данных из БД в таблицу с последующим экспортом ее в MS Excel на .NET C#

Постановка задачи

Написать C# программу  которая позволит выводить данные из БД в имеющуюся в ней таблицу, а также выводить эту таблицу в .xls файл (MS Excel)

Для того, чтобы это сделать, нам понадобится следующее программное обеспечение:

  1. MS Visual Studio
  2. Open Server ( Для создания и управления БД)
  3. MS Excel ( Для вывода данных из таблицы туда)

Вначале подготовим  Visual Studio для работы, затем создадим и настроим Базу Данных, и уже после подготовки всего приступим к написанию кода.

Выполнение работы

1.Создадим пустой проект Windows Forms в Visual Stuido. В нем перед началом работы потребуется добавить специальную dll библиотеку для работы с MS Excel под названием:  «Microsoft Excel Object Library»

Сделать это очень просто:

   Рис.1

В обозревателе решений находим пункт «Ссылки» и кликаем по нему правой кнопкой мыши. Выбираем «Добавить ссылку…» (рис.1),  и после этого в открывшемся окне выбираем вкладку «COM» и находим там соответствующую библиотеку (рис.2):

Рис.2.

2. Далее нам требуется создать и настроить БД. Делать мы это будем с помощью локального сервера «Оpen Server».

Также нам требуется подключать коннектор в каждой форме, где мы используем БД (который мы  можем подключить в тех же ссылках во вкладке обзор):

 

!!! Если у вас он отсутствует , то его требуется установить , а именно скачать MySQL C# Connector и в скачанных файлах, файл MySqlData добавить в ссылках в проекте через вкладку обзор !!!  

Запустите Оpen Server, и в пункте Дополнительно зайдите в СУБД PhpMyAdmin (рис.3):

 

Рис.3

Заходим под стандартным логином/паролем  «root» И выбираем «Создать БД» (рис.4):

 

Рис.4.

Вводим любое название, которое вы посчитаете пригодным сюда, но я покажу на примере списка товаров в магазине. А именно там будет: Номер товара, Наименование, Цена.

ВНИМАНИЕ: Для БД , таблицы и всех строк с текстом добавляем сравнение «utf-8 general_ci» , иначе скорее всего , у вас в итоге ничего не заработает.

Добавив нужные строки получаем такую таблицу (рис.4):

Для поля «id» добавим индекс PRIMARY и пункт A_I (AUTO_INCREMENT) – это позволит сделать это поле ключом, а также добавит ему способность автоматически увеличиваться по мере добавления записей, что упростит задачу, ведь номер товара будет генерировать БД за нас.

 

Рис.4

Для «title» добавим VARCHAR (строковый тип) , а для «price»

DOUBLE – ведь это будет ценой товара , и стоит также учитывать, что число может быть не целым.

3. Теперь , когда мы настроили БД и добавили нужные библиотеки, напишем функционал для вывода данных из БД в элемент «DataGridView» в Windows Forms, который представляет собой таблицу (рис.5):

 

Рис.5

 Здесь есть пустая таблица DataGridView , а также заранее добавим кнопку экспорта в Excel , для которой позже напишем функцию.  

 

Два раза кликаем по самой форме чтобы создать для нее событие «onload» (это нужно, чтобы функция вывода данных из БД срабатывала сразу же при запуске формы) и напишем следующую функцию:

Для начала создаем функцию под названием LoadToDataGridView() и прописываем соединение  к БД:

 

В строке подключения к БД в поле database указываем название своей БД

Далее создаем вывод данных в таблицу:

 

Заканчиваем отлавливание ошибок и закрываем соединение с БД:

 

4. Теперь, когда мы смогли вывести данные в таблицу , напишем функционал для добавления туда записей, ибо пока что наша таблица пуста:

Рис.6

Создадим простую форму (рис.6). где можно будет добавлять записи, удалять их, а также полностью очищать таблицу.

Функция для добавления записей в БД (рис.7):

 

 

Рис.7

Ремарка: «Заглушки» здесь играют роль интерпретаторов , если так можно выразиться, а именно: мы не можем просто взять , и запихнуть переменную в запрос , поэтому в запросе при добавлении записи , мы создаем заглушку ( а именно абсолютно любой ТЕКСТ) чтобы можно было записать его в запрос , и при этом этот текст будет ассоциироваться с нашими переменными , передавая данные из них в БД.

5. Далее нам требуется создать функцию для удаления данных из нашей таблицы, она выглядит примерно похоже, разве что различается сам SQL запрос (рис.8):  

 

Рис.8

Ремарка о том , почему так много раз пишем строку подключения  к БД:

Я бы мог вынести это все в отдельный класс и обращаться к нему, но прописывая это раз за разом , рутинно повторяя одно и тоже, вы лучше запомните как это правильно делается, чтобы в будущем уже не мучиться над тем «а как же мне написать строку подключения, я все забыл(а)»

Очистить таблицу мы сможем с помощью следующей , почти идентичной функции (рис.9):

 

Рис.9

 А теперь прилинкуем наши функции к кнопкам:

 

Когда мы все сделали , можно приступить к экспорту таблицы в Excel:

!!! Перед этим не забудьте подключить к форме саму библиотеку !!!

 

Линкуем его к нашей кнопке на форме и в целом все готово. Осталось лишь сделать общее меню для удобства:

 

Линкуем к кнопкам меню функции запуска наших форм:

 

А также указываем что изначально будет запускаться наша форма с меню  в файле «Program.cs»:

 

 Теперь наше приложение способно читать информацию из Базы Данных и выводить ее в таблицу. А также, экспортировать эту таблицу в Excel файл.

 ПРАКТИЧЕСКОЕ ЗАДАНИЕ

Разработать приложение с использованием Excel Object Library , C# И ДБ для учета книг в городской библиотеке. Приложение позволяет отображать список книг в библиотеке  а именно: Номер книги, наименование, кол-во страниц, переплет и дату поставки. Все книги должны отображаться в таблице DataGridView , в которую данные загружаются из ранее созданной БД. Так же приложение должно иметь функционал для редактирования записей в БД и возможность вывода таблицы в Excel файл.


По теме: методические разработки, презентации и конспекты

План – конспект учебного занятия на тему: «Использование триггеров и генераторов при работе с базой данных СУБД Borland Interbase».

План – конспект  учебного занятияТема: «Использование триггеров и генераторов при работе с базой данных СУБД Borland Interbase».МДК 02.01  «Информационные технологии и платформы разработки и...

Разработка занятия учебной практики по теме: «Работа в MS Excel. Использование MS Excel в качестве базы данных»

Разработка занятия учебной практикипо  теме: «Работа в MS Excel. Использование MS Excel в качестве базы данных»...

Учебное пособие "Работа в базах данных Access"

Учебное пособие содержит теоретический материал и практические работы с инструкциями по их  выполнению....

Работа с базами данных в .NET С#

Работа с базами данных в .NET С#...

Практическая работа "Разработка базы данных АВТОМАГАЗИН. Создание структуры таблиц."

Описание методов работы в среде MS Access  в режиме Конструктора для создания информационной модели предметной области АВТОМАГАЗИН...

Практическая работа "Разработка базы данных АВТОМАГАЗИН. Заполнение таблиц."

Описание технологии занесения данных в таблицы базы данных MS Access. Настройка вычисляемых полей, списков....

Практическая работа "Разработка базы данных АВТОМАГАЗИН. Разработка и настройка форм в MS Access"

Методические указания содержат описание создания подчинённых форм для реализации удобного интерфейса работы с базой данных...