Автор: Пользователь скрыл имя, 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
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.
{
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)
{
}
else
{
}
transaction.Commit();
}
catch (Exception ex)
{
transaction.Rollback();
MessageBox.Show("Ошибка. Невозможно добавить строку!");
Приложение
имеет возможность
В данном приложении возможность импорта и экспорта данных добавлена в таблицу 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(
for (int i = 0; i < table.RowCount; i++)
{
xmlW.WriteStartElement(
for (int j = 0; j < table.ColumnCount; j++)
{
xmlW.WriteAttributeString(
}
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" />
В данной курсовой работе реализуется клиентское приложение для учета книг в библиотеке. Возможность быстрого составления отчетов в данной области является важным.
Для
составления отчетов
Microsoft Visual Studio 2010 поддерживает функции создания отчетов и элементы управления ReportViewer, которые позволяют добавлять полнофункциональные отчеты в пользовательские приложения. Отчеты могут содержать табличные, агрегатные и многомерные данные. Предоставляемые элементы управления ReportViewer позволяют обрабатывать и отображать отчеты в приложениях.
Информация о работе Разработка приложения для учета книг в библиотеке