Разработка приложения для учета книг в библиотеке

Автор: Пользователь скрыл имя, 11 Апреля 2011 в 11:54, курсовая работа

Краткое описание

Разработать приложение для контроля работы библиотеки и учета книг. Помимо данных о книгах (название, автор, жанр), необходимо хранить и другие сведения, например о библиотекаре, выдавшем книгу, стеллаже и полке, содержащих книгу. Все данные должны храниться в базе данных. Приложение должно иметь функционал, позволяющий добавлять записи во все таблицы базы, а также изменять и удалять их.

Оглавление

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

Введение 4

1. Выбор инструментария 5

2. Разработка предметной области 6

3. Реализация 9

3.1. Реализация на языке высокого уровня 9

3.2 Дополнительные возможности приложения 12

3.2.1. Триггеры 12

3.2.2. Транзакции 13

3.2.3. Экспорт и импорт данных 15

3.3. Создание отчетов 17

Заключение 19

Список использованной литературы 20

Приложение 21

Файлы: 1 файл

Курсовая_работа_по_БД_2.docx

— 302.07 Кб (Скачать)

private void button7_Click(object sender, EventArgs e)

        { 

            for (int i = 0; i < dataGridView1.RowCount; i++)

            {

                if (dataGridView1[0, i].Tag != null)

                {

                    using (MySqlConnection connection = new MySqlConnection(Util.ConnectionString))

                    {

                        connection.Open();

                        MySqlTransaction transaction = connection.BeginTransaction();

                        try

                        {

                        MySqlCommand command = new MySqlCommand("INSERT INTO Information VALUES(" +

                            dataGridView1[0, i].Value.ToString() + ", " +

                            dataGridView1[1, i].Value.ToString() + ", " +

                            dataGridView1[2, i].Value.ToString() + ")", connection, transaction);

                            command.ExecuteNonQuery();

                            command.CommandText = "SELECT * FROM Books WHERE ID = '" + dataGridView1["ID_Books", i].Value.ToString() + "' AND Viewed = '1'";

                            MySqlDataReader reader = command.ExecuteReader();

                            bool check = !reader.HasRows;

                           // check = reader.Read();

                            reader.Close();

                            if (check)

                            {

                                command.CommandText = "UPDATE Books SET Viewed = '1' WHERE ID = '" + dataGridView1["ID_books", i].Value.ToString() + "'";

                                command.ExecuteNonQuery();

                            }

                            else

                            {

                                transaction.Rollback();

                                MessageBox.Show("Ошибка. Невозможно добавить строку");

                                break;

                            } 

                            transaction.Commit();

                        }

                        catch (Exception ex)

                        {

                            transaction.Rollback();

                            MessageBox.Show("Ошибка. Невозможно добавить строку!");

 

      1. Экспорт и импорт данных
 

     Приложение  имеет возможность экспортировать данные в XML-файл. Это может быть полезно например при переносе данных в другую базу. XML-файлы можно использовать для хранения резервных копий файлов.  XML-файлы можно также использовать и для импорта данных в базу.

     В данном приложении возможность импорта  и экспорта данных  добавлена  в таблицу Books. Корневым тегом будет тег <Table Name=’имя_таблицы’ >. Сохранять записи будем как тэги с атрибутами, где имя атрибута соответствует имени поля в таблице, а значение атрибута равно значению этого поля для соответствующей  записи. Программная реализация на С# с использованием встроенных компонентов и пример XML файла приведены ниже:

public static void DataExport(DataGridView table, string tableName, string fileName)

        {

            XmlWriterSettings setting = new XmlWriterSettings();

            setting.Indent = true;

            setting.NewLineOnAttributes = true;

            setting.ConformanceLevel = ConformanceLevel.Auto;

            XmlWriter xmlW = XmlWriter.Create(fileName, setting);

            xmlW.WriteStartDocument();

            xmlW.WriteStartElement(tableName); 

            for (int i = 0; i < table.RowCount; i++)

            {

                xmlW.WriteStartElement(tableName);

                for (int j = 0; j < table.ColumnCount; j++)

                {

                    xmlW.WriteAttributeString(table.Columns[j].Name, table[j, i].Value.ToString());  

                }

                xmlW.WriteEndElement();

            }

            xmlW.WriteEndElement();

            xmlW.WriteEndDocument();

            xmlW.Close();

           

        }

  public static void DataImport(DataTable table, string fileName)

        {

            XmlReader xmlR = XmlReader.Create(fileName);

            XmlNodeType el = xmlR.MoveToContent();

            table.Rows.Clear();

            int i = 0;

    while (!xmlR.EOF)

            {

                xmlR.Read();

                if (xmlR.NodeType == XmlNodeType.Element)

                {

                    DataRow row = table.NewRow();

                    row[0] = xmlR.GetAttribute(0);

                    for (int j = 1; j < table.Columns.Count; j++)

                    {

                        if (xmlR.GetAttribute(j) != "")

                            row[j] = xmlR.GetAttribute(j);

                        else

                            row[j] = 0;

                    }

                    table.Rows.Add(row);

                    i++;

                }

            }

            xmlR.Close();

}

Часть XML файла для таблицы Rooms  

<?xml version="1.0" encoding="utf-8"?>

<Books>

  <Books

    ID="5"

    Book_name="SQL 5.0"

    Genre="Программирование"

    Author="Гмурман"

    Publishing="Питер"

    Imprit_date="04.11.2010 0:00:00"

    Shelf_ID="2"

    Viewed="1" />

  <Books

    ID="6"

    Book_name="Мастер и Маргарита"

    Genre="Роман"

    Author="Михаил Булгаков"

    Publishing="Просвещение"

    Imprit_date="16.12.2010 0:00:00"

    Shelf_ID="1"

    Viewed="0" />

  <Books

    ID="7"

    Book_name="Идиот"

    Genre="Роман"

    Author="Федор Достоевский"

    Publishing="Просвещение"

    Imprit_date="10.12.2010 0:00:00"

    Shelf_ID="1"

    Viewed="1" />

  <Books

    ID="8"

    Book_name="MSSQL SErver 2008 R2"

    Genre="Программирование"

    Author="none"

    Publishing="BGTU"

    Imprit_date="02.11.2010 0:00:00"

    Shelf_ID="2"

    Viewed="1" />

  <Books

    ID="10"

    Book_name="C# 3.5 Full "

    Genre="Программирование"

    Author="Shildt"

    Publishing="Williams"

    Imprit_date="16.12.2010 0:00:00"

    Shelf_ID="2"

    Viewed="1" />

    1. Создание  отчетов
 

   В данной курсовой работе реализуется  клиентское приложение для учета  книг в библиотеке. Возможность быстрого составления отчетов в данной области является важным.

   Для составления отчетов используется компонент Cristal Reports.

Microsoft Visual Studio 2010 поддерживает функции создания отчетов и элементы управления ReportViewer, которые позволяют добавлять полнофункциональные отчеты в пользовательские приложения. Отчеты могут содержать табличные, агрегатные и многомерные данные. Предоставляемые элементы управления ReportViewer позволяют обрабатывать и отображать отчеты в приложениях.

Информация о работе Разработка приложения для учета книг в библиотеке