Главная страница

АВТОСАЛОН. Отчёт. Курсовая работа по дисциплине База данных Исполнитель


Скачать 198.23 Kb.
НазваниеКурсовая работа по дисциплине База данных Исполнитель
АнкорАВТОСАЛОН
Дата11.06.2021
Размер198.23 Kb.
Формат файлаdocx
Имя файлаОтчёт.docx
ТипКурсовая
#216808
страница6 из 6
1   2   3   4   5   6

}

3.3. Защита информации


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

Проблема безопасности баз данных решается двумя традиционными способами защиты данных: установка пароля, требуемого при открытии базы данных, и защита на уровне пользователей, которая позволяет ограничить, к какой части базы данных пользователь будет иметь доступ или какую ее часть он сможет изменять. Кроме того, можно удалить изменяемую программу Visual Basic из базы данных, чтобы предотвратить изменения структуры форм, отчетов и модулей, сохранив базу данных как файл MDE.

Наиболее доступным способом защиты является установка пароля для открытия базы данных. После того как пароль установлен, при каждом открытии базы данных будет появляться диалоговое окно, в которое требуется ввести пароль. Только те пользователи, которые введут правильный пароль, смогут открыть базу данных. Этот способ достаточно надежен (Microsoft Access шифрует пароль, так что к нему нет прямого доступа при чтении файла базы данных), но он применяется только при открытии базы данных. После открытия базы данных все объекты становятся доступными для пользователя (пока не определена защита на уровне пользователей, описанная ниже в этом разделе). Для базы данных, которая совместно используется небольшой группой пользователей или на автономном компьютере, установка пароля обычно оказывается достаточной.

3.4. Описание контрольного примера для тестирования


Задание: «Пример тестирования базы автомобильного салона»

Данные: База данных продаж автомобилей.

Ход выполнения:

Для работы с базой данных автосалона необходимо её запустить.

В результате откроется окно «Продажи автомобильного салона» (Рис. 3.11).

Задание выполнено.



Рис. 3.4. Результат контрольного тестирования.


Заключение


Результатом проведенной работы является разработка базы данных отдела продаж автомобильного салона в СУБД Microsoft Access и реализация управления этой базой в Microsoft visual studio 2008 на языке C#, имеющей удобный пользовательский интерфейс, предназначенный для работы различных групп пользователей.

В ходе работы было проведено обследование предметной области, выполнено проектирования структуры базы данных.

В ходе проделанной работы были созданы:

  • 1 таблица;

  • 1 форма.

Созданные формы позволяют быстро добавить, удалить или отредактировать данные.

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

Литература


  1. Астахова И. Ф., Курченкова Т. В, Дураков Р. А.,. Битюцких И. С., Комаров Д. В. Web-технологии с базами данных: Учебное пособие. – Воронеж: Издательско-полиграфический центр Воронежского государственного университета, 2008. – 146 с.

  2. Гринченко Н.Н., Гусев Е.В. и др. Проектирование баз данных. СУБД Microsoft Access: Учебное пособие. – М.: Горячая линия –Телеком, 2004. – 240 с.

  3. Голицина О.Л., Максимов Н.В., Попов И.И. Базы данных: Учебное пособие. – М.: ИНФРА-М, 2006. – 544 с.

  4. Епанешников А.М., Епанешников В.А. Практика создания приложений в Access 2007: Учебное пособие. – М.: Диалог-МИФИ, 2009. – 440 с.

  5. Карпова Т.С. Базы данных: модели, разработка, реализация: Учебник. – СПб.: Питер, 2002. – 304 с.

  6. Кренке Д. Теория и практика построения баз данных: учебник. – Спб.: Питер, 2003. – 800с.

  7. Бакаревич Ю.Б., Пушкина Н.В. Самоучитель Microsoft Access 2002. – СПб.: БХВ-Петербург, 2002. – 720 с.

  8. Бакаревич Ю.Б., Пушкина Н.В. MS Access 2000 за 30 занятий. – СПб.: БХВ-Петербург, 2001. – 510 с.

  9. Microsoft Access 2000. Шаг за шагом: Практическое пособие / Пер. с англ. – М.: ЭКОМ, 2000. – 352 с.


Приложение 1.


Листинг программы

Форма Form1.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.OleDb;
namespace DB

{

public partial class Form1 : Form

{

public OleDbConnection database;

DataGridViewButtonColumn editButton;

DataGridViewButtonColumn deleteButton;

int currentRow;

string ID_AutoString;

public Form1()

{

InitializeComponent();

string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Cars.accdb";

try

{

database = new OleDbConnection(connectionString);

database.Open();

string queryString = "SELECT ID, Модель, Комплектация, Цвет, Год_выпуска, Цена, Дата_продажи, Покупатель FROM Автомобили";

loadDataGrid(queryString);

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

return;

}

}

public void loadDataGrid(string sqlQueryString)

{
OleDbCommand SQLQuery = new OleDbCommand();

DataTable data = null;

dataGridView1.DataSource = null;

SQLQuery.Connection = null;

OleDbDataAdapter dataAdapter = null;

dataGridView1.Columns.Clear();

//---------------------------------

SQLQuery.CommandText = sqlQueryString;

SQLQuery.Connection = database;

data = new DataTable();

dataAdapter = new OleDbDataAdapter(SQLQuery);

dataAdapter.Fill(data);

dataGridView1.DataSource = data;

dataGridView1.AllowUserToAddRows = false;

dataGridView1.ReadOnly = true;

dataGridView1.Columns[0].Visible = false;

dataGridView1.Columns[1].Width = 120;

dataGridView1.Columns[2].Width = 120;

dataGridView1.Columns[3].Width = 80;

dataGridView1.Columns[4].Width = 80;

dataGridView1.Columns[5].Width = 80;

dataGridView1.Columns[6].Width = 120;

dataGridView1.Columns[7].Width = 80;

editButton = new DataGridViewButtonColumn();

editButton.HeaderText = "Edit";

editButton.Text = "Edit";

editButton.UseColumnTextForButtonValue = true;

editButton.Width = 80;

dataGridView1.Columns.Add(editButton);

deleteButton = new DataGridViewButtonColumn();

deleteButton.HeaderText = "Delete";

deleteButton.Text = "Delete";

deleteButton.UseColumnTextForButtonValue = true;

deleteButton.Width = 80;

dataGridView1.Columns.Add(deleteButton);

}

private void izlazToolStripMenuItem_Click(object sender, EventArgs e)

{

Close();

}
private void Insertbutton_Click(object sender, EventArgs e)

{

string SQLString = "";

string model = ModeltextBox.Text.ToString();

string set = SettextBox.Text.ToString();

string color = ColortextBox.Text.ToString();

string year = YeartextBox.Text.ToString();

string price = PricetextBox.Text.ToString();

string date = DatetextBox.Text.ToString();

string buyer = BuyertextBox.Text.ToString();

if (model != "")

{

if (color != "")

{

if (year != "")

{
if (price != "")

{

if (date != "")

{

if (buyer != "")

{

if (set != "")

{

SQLString = "INSERT INTO Автомобили(Модель, Комплектация, Цвет, Год_выпуска, Цена, Дата_продажи, Покупатель) VALUES('" + model + "', '" + set + "', '" + color + "', '" + year + "', '" + price + "', '" + date + "', '" + buyer + "');";

OleDbCommand SQLCommand = new OleDbCommand();

SQLCommand.CommandText = SQLString;

SQLCommand.Connection = database;

int response = -1;

try

{

response = SQLCommand.ExecuteNonQuery();

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

ModeltextBox.Text = "";

SettextBox.Text = "";

ColortextBox.Text = "";

YeartextBox.Text = "";

PricetextBox.Text = "";

DatetextBox.Text = "";

BuyertextBox.Text = "";

string queryString = "SELECT ID, Модель, Комплектация, Цвет, Год_выпуска, Цена, Дата_продажи, Покупатель FROM Автомобили";

loadDataGrid(queryString);

}

else

{

MessageBox.Show("Заполните все поля");

return;

}

}

else

{

MessageBox.Show("Заполните все поля");

return;

}

}

else

{

MessageBox.Show("Заполните все поля");

return;

}

}

else

{

MessageBox.Show("Заполните все поля");

return;

}

}

else

{

MessageBox.Show("Заполните все поля");

return;

}

}

else

{

MessageBox.Show("Заполните все поля");

return;

}
}

else

{

MessageBox.Show("Заполните все поля");

return;

}
}

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)

{

string queryString = "SELECT ID, Модель, Комплектация, Цвет, Год_выпуска, Цена, Дата_продажи, Покупатель FROM Автомобили";

loadDataGrid(queryString);

currentRow = int.Parse(e.RowIndex.ToString());

ID_AutoString = dataGridView1[0, currentRow].Value.ToString();

if (dataGridView1.Columns[e.ColumnIndex] == editButton && currentRow >= 0)

{

ModeltextBox.Text = dataGridView1[1, currentRow].Value.ToString();

SettextBox.Text = dataGridView1[2, currentRow].Value.ToString();

ColortextBox.Text = dataGridView1[3, currentRow].Value.ToString();

YeartextBox.Text = dataGridView1[4, currentRow].Value.ToString();

PricetextBox.Text = dataGridView1[5, currentRow].Value.ToString();

DatetextBox.Text = dataGridView1[6, currentRow].Value.ToString();

BuyertextBox.Text = dataGridView1[7, currentRow].Value.ToString();

}

else if (dataGridView1.Columns[e.ColumnIndex] == deleteButton && currentRow >= 0)

{

string queryDeleteString = "DELETE FROM Автомобили where ID = " + ID_AutoString + "";

OleDbCommand sqlDelete = new OleDbCommand();

sqlDelete.CommandText = queryDeleteString;

sqlDelete.Connection = database;

sqlDelete.ExecuteNonQuery();

loadDataGrid(queryString);

dataGridView1.Update();

}

}

private void Changebutton_Click(object sender, EventArgs e)

{

string queryString = "SELECT ID, Модель, Комплектация, Цвет, Год_выпуска, Цена, Дата_продажи, Покупатель FROM Автомобили";

string SQLUpdateString = "UPDATE Автомобили SET Модель ='" + ModeltextBox.Text + "', Комплектация = '" + SettextBox.Text + "', Цвет = '" + ColortextBox.Text + "', Год_выпуска = '" + YeartextBox.Text + "', Цена = '" + PricetextBox.Text + "', Дата_продажи = '" + DatetextBox.Text + "', Покупатель = '" + BuyertextBox.Text + "' WHERE ID = " + ID_AutoString + "";

OleDbCommand SQLCommand = new OleDbCommand();

SQLCommand.CommandText = SQLUpdateString;

SQLCommand.Connection = database;

int response = SQLCommand.ExecuteNonQuery();

dataGridView1.Update();

loadDataGrid(queryString);

ModeltextBox.Text = "";

SettextBox.Text = "";

ColortextBox.Text = "";

YeartextBox.Text = "";

PricetextBox.Text = "";

DatetextBox.Text = "";

BuyertextBox.Text = "";

}

private void Searchbutton_Click(object sender, EventArgs e)

{

int counter = 0;

int mark = 0;

if (ModeltextBox.Text != "")

{

counter = counter + 1;

mark = 1;

}

if (ColortextBox.Text != "")

{

counter = counter + 1;

mark = 2;

}

if (YeartextBox.Text != "")

{

counter = counter + 1;

mark = 3;

}

if (PricetextBox.Text != "")

{

counter = counter + 1;

mark = 4;

}

if (DatetextBox.Text != "")

{

counter = counter + 1;

mark = 5;

}

if (BuyertextBox.Text != "")

{

counter = counter + 1;

mark = 6;

}

if (SettextBox.Text != "")

{

counter = counter + 1;

mark = 7;

}

if (counter == 1)

{

switch (mark)

{

case 1: string queryString = "SELECT ID, Модель, Комплектация, Цвет, Год_выпуска, Цена, Дата_продажи, Покупатель FROM Автомобили WHERE Автомобили.Модель LIKE '" + ModeltextBox.Text + "%'";

loadDataGrid(queryString);

break;

case 2: string queryString1 = "SELECT ID, Модель, Комплектация, Цвет, Год_выпуска, Цена, Дата_продажи, Покупатель FROM Автомобили WHERE Автомобили.Цвет LIKE '" + ColortextBox.Text + "%'";

loadDataGrid(queryString1);

break;

case 3: string queryString2 = "SELECT ID, Модель, Комплектация, Цвет, Год_выпуска, Цена, Дата_продажи, Покупатель FROM Автомобили WHERE Автомобили.Год_выпуска LIKE '" + YeartextBox.Text + "%'";

loadDataGrid(queryString2);

break;

case 4: string queryString3 = "SELECT ID, Модель, Комплектация, Цвет, Год_выпуска, Цена, Дата_продажи, Покупатель FROM Автомобили WHERE Автомобили.Цена LIKE '" + PricetextBox.Text + "%'";

loadDataGrid(queryString3);

break;

case 5: string queryString4 = "SELECT ID, Модель, Комплектация, Цвет, Год_выпуска, Цена, Дата_продажи, Покупатель FROM Автомобили WHERE Автомобили.Дата_продажи LIKE '" + DatetextBox.Text + "%'";

loadDataGrid(queryString4);

break;

case 6: string queryString5 = "SELECT ID, Модель, Комплектация, Цвет, Год_выпуска, Цена, Дата_продажи, Покупатель FROM Автомобили WHERE Автомобили.Покупатель LIKE '" + BuyertextBox.Text + "%'";

loadDataGrid(queryString5);

break;

case 7: string queryString6 = "SELECT ID, Модель, Комплектация, Цвет, Год_выпуска, Цена, Дата_продажи, Покупатель FROM Автомобили WHERE Автомобили.Комплектация LIKE '" + SettextBox.Text + "%'";

loadDataGrid(queryString6);

break;

}

}

else if (counter == 0)

MessageBox.Show("Заполните одно поле");

else

MessageBox.Show("Заполните ТОЛЬКО одно поле");

}

private void Form1_Load(object sender, EventArgs e)

{
}
private void CancellButton_Click(object sender, EventArgs e)

{

string queryString = "SELECT ID, Модель, Комплектация, Цвет, Год_выпуска, Цена, Дата_продажи, Покупатель FROM Автомобили";

loadDataGrid(queryString);

}
private void button2_Click(object sender, EventArgs e)

{

Application.Exit();

}

}

}

1   2   3   4   5   6


написать администратору сайта