Автор: Пользователь скрыл имя, 17 Февраля 2013 в 18:19, курсовая работа
Железнодорожный транспорт обладает высокой провозной способностью и пригодностью для перевозки различных грузов. Использование его наиболее целесообразно для внешних перевозок.
Цель автоматизации — повышение производительности труда, улучшение качества продукции, оптимизация управления, устранение человека от производств, опасных для здоровья. Автоматизация, за исключением простейших случаев, требует комплексного, системного подхода к решению задачи, поэтому решения стоящих перед автоматизацией задач обычно называются системами.
В таблицах выберем первичные ключи и индексированные поля. Так же для поля определим его основные характеристики – является ли это поле внешним или первичным ключом, создан ли индекс по этому полю, задано ли для поля значение по умолчанию, какие ограничения заданы для данного поля. Вся информация представлена в таблице 1.
Таблица 1 — Описание данных
Название таблицы |
Имя поля |
Тип данных |
Размер поля |
Первичный ключ / вторичный ключ / индексированное поле |
Table_mesto_vigruz |
ID |
Integer |
4 |
Первичный ключ(AUTO_INCREMENT) |
Mesto_vigruzki |
nvarchar |
50 |
NOT NULL | |
Table_Stanciya_otprav |
ID |
Integer |
4 |
Первичный ключ(AUTO_INCREMENT) |
Stanciya |
Nvarchar |
50 |
NOT NULL | |
Table_otcheti |
Id |
Integer |
4 |
Первичный ключ(AUTO_INCREMENT) |
number_vagon |
Integer |
50 |
NOT NULL | |
number_nakladnie |
Integer |
8 |
NOT NULL | |
stancia_otprav |
Nvarchar |
50 |
NOT NULL | |
ves_gryza |
Integer |
4 |
NOT NULL | |
kol_mest |
Integer |
4 |
NULL | |
name_gryz |
Nvarchar |
50 |
NOT NULL | |
date_pribitiya |
DateTime |
- |
NOT NULL | |
date_podachi |
DateTime |
- |
NOT NULL | |
date_vigryzka |
DateTime |
- |
NOT NULL | |
mesto_vigryzki |
Nvarchar |
50 |
NOT NULL | |
dop_inform |
Text |
- |
NULL |
После запуска приложения появляется главное окно приложения, которое содержит отображение таблицу учёта прибывших вагонов. Пример окна показан на рисунке 6.1, также есть окно добавления новой станции в базу данных и места отправления, соответственно показанные на рисунках 6.2 и .6.3.
Рисунок 6.2 — Окно добавления новой станции
Рисунок 6.3 — Окно добавления нового места выгрузки
Как только пришли документы от нового вагона, его необходимо сразу же занести в базу. Для этого есть форма добавления нового вагона. Пример формы показан на рисунке 6.4. Основным преимуществом данного метода занесения вновь пришедших вагонов под разгрузку является автоматизация процесса добавления записей.
Рисунок 6.4 — Окно добавления нового вагона в базу
В базе уже имеются занесенные ранее
станции отгрузки и станции прибытия.
Это позволяет экономить время
на заполнении документации.
Примеры окон показаны на рисунках 6.5 и
6.6.
Рисунок 6.5 — Выбор станции отправления
Рисунок 6.5 — Выбор места выгрузки
В ходе тестирования приложения явных и скрытых ошибок не было выявлено. Система Degug не показала ошибок по ходу работы приложения.
В результате выполнения курсовой работы была разработана программа по учёту пришедших вагонов на предприятие, что является быстрым и удобным способом ведения учета прибывших вагонов. Представленная программа легко заменит старый метод ведения учета, на бумажном носитиле.
В результате разработки курсового проекта были закреплены и расширены знания в области программирования на языке C# с применением ADO.Net.
При реализации проекта пройдены этапы описания и постановки задачи, проектирования программного модуля, кодирования программы на алгоритмический язык и тестирования готовой программы.
1. Михаил Абрамян. Visual С# на примерах – «БХВ-Петербург», 2008 г., 496 с.
2. ГербертШилдт. Полноеруководство C# 3.0.- «Вильямс», 2010 г., 992 с.
3.Мартин Дрейер.C# для школьников .- «БИНОМ».,2009 г., 126 с.
4. Троелсен Эндрю. Язык программирования С# 2008 и платформа .NET 3.5. - «Вильямс»., 2010 г., 1343 с.
5. Евсеева О.Н, Шамшев А.В., Работа с базами данных на языке С#., 2009 г., 171 с.
6. Виктор Алексеев, Николай Акулов., Сборник статей по C#., - «БИНОМ»., 2009 г., 876 с.
7. Павловская Т.А., C# Программирование на языке высокого уровня., - «Питер»., 2009 г., 432 с.
8. Дж. Бишоп, Н. Хорспул., C# в кратком изложении., - «Питер», 2008 г. 560 с.
9. КристианНейгел, Билл Ивьен, ДжейГлинн, Морган Скиннер, Карли., C# 2005 и платформа .NET 3.0 для профессионалов., - «WROX», 2009 г. 1320 с.
9. Шилдт Г., C# Учебный курс., - «Вильямс» 2009 г. 1200 с.
10. Нортроп Т. - Разработка клиентских Windows-приложений на платформе Microsoft .NetFramework, «Вильямс» 2008 г. 570 с.
11. Microsoft Press - MSDN Magazine., 2010 г. 567 с.
Главная форма приложения
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.SqlClient;
namespace Ychet_Vagonov
{
public partial class Form1 : Form
{
ClassFillData cFill = new ClassFillData();
public Form1()
{
InitializeComponent();
tablica.DataSource = cFill.FillData("SELECT * FROM Table_Ycheta_Vagonov");
}
private void закрытьToolStripMenuItem_
{
Close();
}
private void добавитьВагонToolStripMenuItem
{
Form_add_vagon addVagon = new Form_add_vagon();
addVagon.ShowDialog();
tablica.DataSource = cFill.FillData("SELECT * FROM Table_Ycheta_Vagonov");
}
private void добавитьToolStripMenuItem_
{
Stanciya stan = new Stanciya();
stan.ShowDialog();
}
private void добавитьToolStripMenuItem1_
{
Form_mesto_vigruz mvig = new Form_mesto_vigruz();
mvig.ShowDialog();
}
private void удалитьToolStripMenuItem_
{
/*пишем подключение к БД SQL */
string connStr = Properties.Settings.Default.
SqlConnection conn = new SqlConnection(connStr); //строка подключения
try //осуществляем проверка на ошибки
{
//Пробуем подключиться к БД
conn.Open();
}
catch (SqlException sqlError)
{
MessageBox.Show("Ошибка
return;
}
/* код для добавления нового вагона в базу */
// пишем строку для добовления нового пользователя
SqlCommand cmd = new SqlCommand("DELETE FROM
Table_Ycheta_Vagonov WHERE id = " + tablica.CurrentRow.Cells[0].
/* аЦЦкая проверка на правильность заноса данных в базу :) */
try
{
cmd.ExecuteNonQuery();
}
catch (SqlException sqlError)
{
MessageBox.Show("Ошибка
}
// закрываем соединение
conn.Close();
conn.Dispose();
tablica.DataSource = cFill.FillData("SELECT * FROM Table_Ycheta_Vagonov");
}
}
}