Создание программы для составления расписания в школе
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
ействие установлено, осуществляется при помощи компонента BdpAdapter.
.Хранение таблиц базы данных может осуществляться компонентом DataSet.
.Таблица базы данных записывается в DataSet при помощи вызова метода Fill() компонента BdpDataAdapter.
.Простой вывод содержимого компонента DataSet может быть осуществлён при помощи компонента DataGrid.
5. Структурное описание разработки. Описание форматов данных
Прежде чем составлять расписание, программе необходимы данные со школы. Данные вводятся через интерфейс программы, что не составит особого труда завучу. Данные, касающиеся наименования школы, учебного года четверти, особых проблем не имеют, их можно изменит в последующей работе программы.
Очередность ввода данных
Данные о школе
Предметы, которые ведутся в школе
Преподаватели
Существующие классы
Рабочие кабинеты
Наименование школы имеет текстовый формат, учебный год - формат года.
Четверть, максимальное количество уроков в день, количество учебных дней, и классный час имеют свой список данных, из которого необходимо выбрать.
Предметы также имеют текстовый формат данных. Заполнение предметов может даже и не понадобится, поскольку список имеет стандартный набор предметов. Также здесь можно указать на то, что можно ставить два одинаковых предмета подряд.
О преподавателях необходимо заполнить личные данные: ФИО (формат текстовый), номер телефона (формат текстовый), адрес (формат текстовый), дата рождения (формат дата).
Информация о классах содержит наименование класса, классного руководителя, смена и количество учащихся.
Форма с кабинетами содержит номер кабинета, закрепленного за этим кабинетом преподавателя, количество посадочных мест.
Для хранения переменных был создан класс peremenie, этот класс был статическим, что позволяло нам брать переменную из любого конца программы.
Программный код:
static public class peremenie
{ public string[] mas_shkola;public string m_shkola="";public string chetvert="";public int maksyrokov;public int dninedeli;public string m_klchas;public string m_god1;public string m_god2;
//основные данные о школеpublic string[] m_kab;public string[] m_klas;public string[] m_predmet;public string[] prepod;
//таблицы с данными которые нельзя изменять, наша datagridviewpublic int m_nomkab;public int m_mest;public string m_prepod;
//добавить кабинетpublic string m_klimya;public int kolychen;public string klryk;public int smena=0;
//добавить новый классpublic string m_predimya;public int spar = 0;
//новый предметpublic string m_fio;public int kolchas;public string data;public string adres;public string tel;
//новй преподавательpublic int[] rabkab;public int[] a;public string[] nagryzka;public int[] rabvr;
//массивы для рабочего времениpublic int sprep = 0;public int b = 0;public int otkrit = 0;public string help;public int pred = 0;public int new_old = 0;public int IDklas = 0;public int IDshcool = 0;public bool[] nomerk;
}
ИНФОРМАЦИЮ, НА ОСНОВЕ КОТОРОЙ СТРОИТСЯ РАСПИСАНИЕ, НЕ РЕКОМЕНДУЕТСЯ ИЗМЕНЯТЬ ПОСЛЕ ТОГО, КАК ЗАВУЧ НАЧАЛ ЕГО СОСТАВЛЯТЬ!!!
Информация в программе взаимодействует друг с другом, поэтому все лучше прописать сразу, чтобы потом не добавлять.
В самой программе работа с данными происходит следующим образом:
Если наша школа уже есть в списке, и мы ее просто открываем, тогда все данные будут перемещены в специальные матрицы. И затем информация уже извлекается из матриц, согласно условиям. Когда же мы создаем либо изменяем информацию, она изменяется или создается в таблицах при нажатии на кнопку ОК или ДАЛЕЕ.
Программный код для извлечения информации из таблиц MySql:
программный алгоритм интерфейс пользовательский
static int sh;MySqlDataAdapter da;DataSet table;string conn="datasource=localhost;username=root;password=;database=mysql;CharSet=utf8;";MySqlConnection mycon;DataTable dt;string charsetQuery = "SET NAMES 'utf8';";public void bdread() //класс для чтения данных
{= new MySqlConnection(conn);command1 = new MySqlCommand(charsetQuery, mycon);cmd1 = new MySqlCommand("Select * From данные", mycon);query = "SELECT * FROM данные;";= new MySqlDataAdapter(query, conn);.Open();.ExecuteNonQuery();head;k=0;(MySqlDataReader dr = cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{= dr.FieldCount;(dr.Read())
{++;
}= k;
}.Open();(MySqlDataReader dr = cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{j=0;.mas_shkola = new string[k* head];(dr.Read())
{(int i = 0; i < head; i++)
{.mas_shkola[j * 8 + i] = dr.GetValue(i).ToString().Trim();
}++;
}
}();
/////матрица для данных о школах= new MySqlCommand("Select * From кабинет", mycon);= "SELECT * FROM кабинет;";= new MySqlDataAdapter(query, conn);.Open();.ExecuteNonQuery();= 0;(MySqlDataReader dr = cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{(dr.Read())
{++;
}
}.Open();(MySqlDataReader dr = cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{.m_kab = new string[k * 5];j = 0;(dr.Read())
{(int i = 0; i < 5; i++)
{.m_kab[j * 5 + i] =dr.GetValue(i).ToString().Trim();
}++;
}
}
/////матрица для кабинетов= new MySqlCommand("Select * From классы", mycon);= "SELECT * FROM классы;";= new MySqlDataAdapter(query, conn);.Open();.ExecuteNonQuery();= 0;(MySqlDataReader dr = cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{(dr.Read())
{++;
}
}.Open();(MySqlDataReader dr = cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{j=0;.m_klas = new string[k * 6];(dr.Read())
{(int i = 0; i <6; i++)
{.m_klas[j * 6+ i] = dr.GetValue(i).ToString().Trim();
}++;
}
}
////матрица для классов= new MySqlCommand("Select * From предмет", mycon);= "SELECT * FROM предмет;";= new MySqlDataAdapter(query, conn);.Open();.ExecuteNonQuery();= 0;(MySqlDataReader dr = cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{(dr.Read())
{++;
}
}.Open();(MySqlDataReader dr = cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{j = 0;.m_predmet = new string[k * 4];(dr.Read())
{(int i = 0; i < 4; i++)
{.m_predmet[j *4 + i] = dr.GetValue(i).ToString().Trim();
}++;
}
}
//////матрица для предметов= new MySqlCommand("Select * From преподаватели", mycon);= "SELECT * FROM преподаватели;";= new MySqlDataAdapter(query, conn);.Open();.ExecuteNonQuery();= 0;(MySqlDataReader dr = cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{(dr.Read())
{++;
}
}.Open();(MySqlDataReader dr = cmd1.ExecuteReader(CommandBehavior.CloseConnection))
{j = 0;.prepod = new string[k * 7];(dr.Read())
{(int i = 0; i < 7; i++)
{.prepod [j * 7 + i] = dr.GetValue(i).ToString().Trim();
}++;
}
}
//// преподы= new MySqlCommand("Select * From нагрузка", mycon);= "SELECT * FROM нагрузка;";= new MySqlDataAdapter(query, conn);.Open();.ExecuteNonQuery();= 0;(MySqlDataReader dr = cmd1.ExecuteReader(Command