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

Отчет по практике. Отчет. Допустить к защите


Скачать 407.85 Kb.
НазваниеДопустить к защите
АнкорОтчет по практике
Дата25.03.2021
Размер407.85 Kb.
Формат файлаdocx
Имя файлаОтчет.docx
ТипПояснительная записка
#188086
страница10 из 10
1   2   3   4   5   6   7   8   9   10

Заключение


В процессе разработки дипломного проекта было спроектировано программное обеспечение «Учет оплаты за обучение», получен опыт в разработке приложений на языке программирования высокого уровня C# с применением технологии WPF. А также получен опыт в составлении SQL запросов на выборку, удаление, изменение и добавление данных.

Данный программный продукт обеспечивает выполнение следующих задач:

  • добавление, изменение, удаление и хранение данных;

  • просмотр и редактирование списка групп и студентов;

  • подсчет суммы оплаты за обучение;

  • контроль вводимой информации и блокировку ввода некорректных

данных;

  • парольную защиту при входе в систему.

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

Список использованных источников

  1. Шарп Джон Ш26 Microsoft Visual C#. Подробное руководство. 8-е изд. — СПб.: Питер, 2017. — 848 с.: ил. — (Серия «Библиотека программиста»).

  2. Карпова, И.П. Базы данных. Учебное пособие [Электронный ресурс] / И.П. Карпова. – Электрон.дан. – Санкт-Петербург: Питер, 2013. Режим доступа: https://ibooks.ru/reading.php?productid=334057, только для зарегистрированных пользователей. – Загл. с экрана.

  3. Заботина, Н.Н. Проектирование информационных систем: Учебное пособие [Электронный ресурс] / Н.Н. Заботина. – Электрон.дан. – Москва: НИЦ ИНФРА-М, 2015. – Режим доступа: http://znanium.com/bookread2.php? book=454282, только для зарегистрированных пользователей. – Загл. с экрана.

  4. Интерактивный учебник Пошаговые руководства по WPF –[интернет-ресурс] - https://docs.microsoft.com/ru-ru/dotnet/framework/wpf/getting-started/wpf-walkthroughs

  5. Документация по MySQL http://www.mysql.ru/docs/


Приложение А

Текст программы

//Класс подключения к серверу

using System;

using System.Data;

using MySql.Data.MySqlClient;
namespace Diplom

{
class connect

{

string ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectToDB"].ConnectionString;

MySqlConnection con;

MySqlCommand cmd;

MySqlDataAdapter dataAdapter;

MySqlDataReader dr;

DataTable dt;

object result;

MySqlConnection MyConnect = new MySqlConnection();
public void OpenConection()

{

con = new MySqlConnection(ConnectionString);

con.Open();

}

public void CloseConnection()

{

con.Close();

}

public void ExecuteQueries(string Query_)

{

cmd = new MySqlCommand(Query_, con);

cmd.ExecuteNonQuery();

}
public object ExecuteQ(string Query_)

{

cmd = new MySqlCommand(Query_, con);

result = cmd.ExecuteScalar();

if (result == DBNull.Value)

{

result = 0;

}

return result;

}

public MySqlDataReader DataReader(string Query_)

{
cmd = new MySqlCommand(Query_, con);

dr = cmd.ExecuteReader();

return dr;

}

public MySqlDataAdapter DataAdapter(string Query_)

{

MySqlDataAdapter dataAdapter = new MySqlDataAdapter(Query_, con);

return dataAdapter;

}

public DataTable QueryEx()

{

dt = new DataTable();

dt.Load(dr);

return dt;

}

public void NonQueryEx()

{

cmd.ExecuteNonQuery();

}

}

}

Листинг формы «Авторизация»:

using System;

using System.Data;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Input;

using Diplom.Validation;

using MySql.Data.MySqlClient;
namespace Diplom

{

public partial class MainWindow : Window

{

private connect conn;

MySqlDataAdapter dataAdapter;

private int _errors = 0;

private validationText validText = new validationText();

public MainWindow()

{

InitializeComponent();

grid_validationData.DataContext = validText;

}

#region Активность кнопки авторизация

private void sign_CanExecute(object sender, CanExecuteRoutedEventArgs e)

{

e.CanExecute = _errors == 0;

e.Handled = true;

}

private void sign_Executed(object sender, ExecutedRoutedEventArgs e)

{
validText = new validationText();

grid_validationData.DataContext = validText;

e.Handled = true;

}

private void Validation_Error(object sender, ValidationErrorEventArgs e)

{

if (e.Action == ValidationErrorEventAction.Added)

_errors++;

else

_errors--;

#endregion

//helpMenu кнопка помощи

private void helpMenu(System.Object sender, EventArgs e)

{

menuBorder.IsEnabled = false;

}

//форма помощи

private void help(System.Object sender, EventArgs e)

{

menuBorder.IsEnabled = true;

}

//infoMenu кнопка информации

private void infoMenu(System.Object sender, EventArgs e)

{

menuBorder.IsEnabled = false;

}

//info форма информации

private void Info(System.Object sender, EventArgs e)

{

menuBorder.IsEnabled = true;

}

//настройки

private void settingMenu(System.Object sender, EventArgs e)

{

settings settings = new settings();

settings.Show();

}
private void exitMenu(System.Object sender, EventArgs e)

{

MessageBoxResult result = MessageBox.Show("Выйти из программы?", "Завершение работы", MessageBoxButton.YesNo, MessageBoxImage.Question);

if (result == MessageBoxResult.Yes)

{

Application.Current.Shutdown();

}

}

private void Button_Click(object sender, RoutedEventArgs e)

{

try

{

if (login.Text == "" || pass.Password == "")

{

MessageBox.Show("Введите данные!");

}
else

{

conn = new connect();
conn.OpenConection();
dataAdapter = conn.DataAdapter("Select role From users where login ='" + login.Text + "' and pass ='" + pass.Password + "'");

DataTable dt = new DataTable();

dataAdapter.Fill(dt);


if (dt.Rows.Count > 0)

{

string role = dt.Rows[0][0].ToString();
if (role == "Администратор")

{

admin admin = new admin();

admin.Show();

this.Hide();

}
if (role == "Секретарь")

{

Sekret admin = new Sekret();

admin.Show();

this.Hide();

}
if (role == "Кассир")

{

kassir admin = new kassir();

admin.Show();

this.Hide();

}

}

else

{

MessageBox.Show("Неправильно введённые имя или пароль");

}

}

catch

{

MessageBox.Show("Соединение отсутствует");

settings s = new settings();

s.Show();

}

}
private void login_PreviewKeyDown(object sender, KeyEventArgs e)

{

if (e.Key == Key.Space)

{

e.Handled = true;

}

}
private void pass_PreviewKeyDown(object sender, KeyEventArgs e)

{

if (e.Key == Key.Space)

{

e.Handled = true;

}

}

}

Листинг формы «Настройки»:

using System.Text;
using System.Windows;

using System.Windows.Controls;

using System.Windows.Input;

using System.Configuration;

using Diplom.Validation;
namespace Diplom

{

public partial class settings : Window

{

private int _errors = 0;

private validationText validText = new validationText();

connect conn;

public settings()

{

InitializeComponent();

grid_validationData.DataContext = validText;

}

#region Активность кнопки авторизация

private void Update_CanExecute(object sender, CanExecuteRoutedEventArgs e)

{

e.CanExecute = _errors == 0;

e.Handled = true;

}
private void Update_Executed(object sender, ExecutedRoutedEventArgs e)

{

validText = new validationText();

grid_validationData.DataContext = validText;
e.Handled = true;

}
private void Validation_Error(object sender, ValidationErrorEventArgs e)

{

if (e.Action == ValidationErrorEventAction.Added)

_errors++;

else

_errors--;

}

#endregion

private void Update_Click(object sender, RoutedEventArgs e)

{

StringBuilder Con = new StringBuilder("Database= ");

Con.Append(DBname_text.Text);

Con.Append(";Datasource=");

Con.Append(server_text.Text);

Con.Append("; User=");

Con.Append(user_text.Text);

Con.Append(";Password='");

Con.Append(pass_text.Password);

Con.Append("';");
connect myConnect = new connect();

string strCon = Con.ToString();

try

{

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

var connectionStringsSection = (ConnectionStringsSection)config.GetSection("connectionStrings");

connectionStringsSection.ConnectionStrings["ConnectToDB"].ConnectionString = strCon;

config.Save();

ConfigurationManager.RefreshSection("connectionStrings");

conn = new connect();

conn.OpenConection();

conn.CloseConnection();

startConnect.Visibility = Visibility.Visible;

valid_text.Visibility = Visibility.Hidden;

}
catch

{

if (pass_text.Password.Length <=3)

{

MessageBox.Show("Пароль должен быть не менее 4-х символов");

}

else

{

valid_text.Inlines.Add("Введенные настройки неверны");

valid_text.Visibility = Visibility.Visible;

}

}

}

private void Exit_Click(object sender, RoutedEventArgs e)
{

this.Close();

}

#region Запрет ввод пробелов в поля

private void server_text_PreviewKeyDown(object sender, KeyEventArgs e)

{

if (e.Key == Key.Space)

{

e.Handled = true;

}

}
private void DBname_text_PreviewKeyDown(object sender, KeyEventArgs e)

{

if (e.Key == Key.Space)

{

e.Handled = true;

}

}
private void user_text_PreviewKeyDown(object sender, KeyEventArgs e)

{

if (e.Key == Key.Space)

{

e.Handled = true;

}

}

private void pass_text_PreviewKeyDown(object sender, KeyEventArgs e)

{
if (e.Key == Key.Space)

{

e.Handled = true;

}

}

#endregion

}

}


1   2   3   4   5   6   7   8   9   10


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