на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Розробка програмного забезпечення для ведення електронного обліку успішності школярів
p align="left"> InitializeComponent();

}

Зміні необхідні для вибірки даних:

public static string strkl = "klasu.klas", strpredm = "predmetu.nazva", stridznazva = "idznazva.nazva";

Заповнення усіх об'єктів на формі даними:

zhusl.combSel(combklasu, "SELECT klas, fkklasu, rikpost FROM klasu ORDER BY rikpost", false);

zhusl.combSel(combpredm, "SELECT nazva FROM predmetu ORDER BY nazva", true);

zhusl.combSel(combidz, "SELECT nazva FROM idznazva ORDER BY nazva", true);

combpredm.SelectedIndex = 0;

//combklasu.SelectedIndex = 11;

// combimya.SelectedIndex = 0;

//FormLoad

zhusl.MainSel(dataGridView1, "SELECT idz.fkidz AS [FKIDZ], idz.idzfksem AS [FKSEMIDZ], idz.idzfkpre, idz.nazva AS idznazva, klasu.fkklasu, uchni.fkuchni, klasu.klas AS [Клас], uchni.prizv AS [Прізвище], uchni.imya AS [Ім'я], uchni.pobat AS [Побатькові], idznazva.nazva AS [Назва ІДЗ], idz.ocinka AS [Оцінка], predmetu.nazva AS [Предмет] FROM (predmetu INNER JOIN (((uchni INNER JOIN semestru ON uchni.fkuchni = semestru.semfkuchen) INNER JOIN klasu ON uchni.fkklasu = klasu.fkklasu) INNER JOIN(idz INNER JOIN idznazva ON idz.nazva = idznazva.fkidznazva) ON semestru.fksem = idz.idzfksem) ON predmetu.fkpredm = idz.idzfkpre) WHERE (klasu.klas = " + strkl + " AND predmetu.nazva = " + strpredm + " AND idznazva.nazva = " + stridznazva + ") ORDER BY uchni.prizv");

zhusl.VisiF(dataGridView1, 5);

Вибірка за предметами:

if (combpredm.SelectedItem.ToString() == "*") strpredm = "predmetu.nazva";

else strpredm = "'" + combpredm.SelectedItem.ToString() + "'";

zhusl.MainSel(dataGridView1, "SELECT idz.fkidz AS [FKIDZ], idz.idzfksem AS [FKSEMIDZ], idz.idzfkpre, idz.nazva AS idznazva, klasu.fkklasu, uchni.fkuchni, klasu.klas AS [Клас], uchni.prizv AS [Прізвище], uchni.imya AS [Ім'я], uchni.pobat AS [Побатькові], idznazva.nazva AS [Назва ІДЗ], idz.ocinka AS [Оцінка], predmetu.nazva AS [Предмет] FROM (predmetu INNER JOIN (((uchni INNER JOIN semestru ON uchni.fkuchni = semestru.semfkuchen) INNER JOIN klasu ON uchni.fkklasu = klasu.fkklasu) INNER JOIN(idz INNER JOIN idznazva ON idz.nazva = idznazva.fkidznazva) ON semestru.fksem = idz.idzfksem) ON predmetu.fkpredm = idz.idzfkpre) WHERE (klasu.klas = " + strkl + " AND predmetu.nazva = " + strpredm + " AND idznazva.nazva = " + stridznazva + ") ORDER BY uchni.prizv");

zhusl.VisiF(dataGridView1, 5);

Вибірка за класами:

if (combklasu.SelectedItem.ToString() == "*") strkl = "klasu.klas"; else

strkl = "'" +combklasu.SelectedItem.ToString()+"'";

zhusl.MainSel(dataGridView1, "SELECT idz.fkidz AS [FKIDZ], idz.idzfksem AS [FKSEMIDZ], idz.idzfkpre, idz.nazva AS idznazva, klasu.fkklasu, uchni.fkuchni, klasu.klas AS [Клас], uchni.prizv AS [Прізвище], uchni.imya AS [Ім'я], uchni.pobat AS [Побатькові], idznazva.nazva AS [Назва ІДЗ], idz.ocinka AS [Оцінка], predmetu.nazva AS [Предмет] FROM (predmetu INNER JOIN (((uchni INNER JOIN semestru ON uchni.fkuchni = semestru.semfkuchen) INNER JOIN klasu ON uchni.fkklasu = klasu.fkklasu) INNER JOIN(idz INNER JOIN idznazva ON idz.nazva = idznazva.fkidznazva) ON semestru.fksem = idz.idzfksem) ON predmetu.fkpredm = idz.idzfkpre) WHERE (klasu.klas = " + strkl + " AND predmetu.nazva = " + strpredm + " AND idznazva.nazva = " + stridznazva + ") ORDER BY uchni.prizv");

zhusl.VisiF(dataGridView1, 5);

Вибірка за назвою оцінки:

if (combidz.SelectedItem.ToString() == "*") stridznazva = "idznazva.nazva";

else

stridznazva = "'" + combidz.SelectedItem.ToString() + "'";

zhusl.MainSel(dataGridView1, "SELECT idz.fkidz AS [FKIDZ], idz.idzfksem AS [FKSEMIDZ], idz.idzfkpre, idz.nazva AS idznazva, klasu.fkklasu, uchni.fkuchni, klasu.klas AS [Клас], uchni.prizv AS [Прізвище], uchni.imya AS [Ім'я], uchni.pobat AS [Побатькові], idznazva.nazva AS [Назва ІДЗ], idz.ocinka AS [Оцінка], predmetu.nazva AS [Предмет] FROM (predmetu INNER JOIN (((uchni INNER JOIN semestru ON uchni.fkuchni = semestru.semfkuchen) INNER JOIN klasu ON uchni.fkklasu = klasu.fkklasu) INNER JOIN(idz INNER JOIN idznazva ON idz.nazva = idznazva.fkidznazva) ON semestru.fksem = idz.idzfksem) ON predmetu.fkpredm = idz.idzfkpre) WHERE (klasu.klas = " + strkl + " AND predmetu.nazva = " + strpredm + " AND idznazva.nazva = " + stridznazva + ") ORDER BY uchni.prizv");

zhusl.VisiF(dataGridView1, 5);

Функція яка дістає ключове поле таблиці за назвою інших полів:

string getFK(string stre)

{

string tem = "";

OleDbCommand thisCommand = new OleDbCommand(stre, connection);

OleDbDataReader thisReader = thisCommand.ExecuteReader();

thisReader.ToString();

thisReader.Read();

tem = thisReader[0].ToString();

thisReader.Close();

return tem;

}

Динамічна зміна предмету та назви оцінки:

switch (dataGridView1.CurrentCell.ColumnIndex)

{

case 10:

zhusl.combSel(combfrog, "SELECT nazva FROM idznazva ORDER BY nazva;",false);

panel1.Visible = true;

panel1.Top = e.Y + dataGridView1.Top;

panel1.Left = e.X + dataGridView1.Left;

break;

case 12:

zhusl.combSel(combfrog, "SELECT nazva FROM predmetu ORDER BY nazva;",false);

panel1.Visible = true;

panel1.Top = e.Y + dataGridView1.Top;

panel1.Left = e.X + dataGridView1.Left

break;

default:

break;}

Процедура динамічної зміни:

private void combfrog_SelectedIndexChanged(object sender, EventArgs e)

{

connection.Open();

OleDbCommand thisCommand = new OleDbCommand();

thisCommand.Connection = connection;

thisCommand.CommandText = "SELECT nazva FROM idznazva ORDER BY nazva;";

OleDbDataReader thisReader = thisCommand.ExecuteReader();

thisReader.Close();

switch (dataGridView1.CurrentCell.ColumnIndex)

{

case 10:

thisCommand.CommandText = "UPDATE idz SET nazva = ? WHERE (fkidz= ?);";

thisCommand.Parameters.Add("@nazva", OleDbType.VarChar).Value = getFK("SELECT fkidznazva FROM idznazva WHERE (nazva = '" + combfrog.SelectedItem.ToString() + "');");

thisCommand.Parameters.Add("@fkidz", OleDbType.VarChar).Value = dataGridView1.CurrentRow.Cells[0].Value.ToString();

thisReader = thisCommand.ExecuteReader();

thisReader.ToString();

thisReader.Close();

break;

case 12:

thisCommand.CommandText = "UPDATE idz SET idzfkpre = ? WHERE (fkidz= ?);";

thisCommand.Parameters.Add("@idzfkpre", OleDbType.VarChar).Value = getFK("SELECT fkpredm FROM predmetu WHERE (nazva = '" + combfrog.SelectedItem.ToString() + "');");

thisCommand.Parameters.Add("@fkidz", OleDbType.VarChar).Value = dataGridView1.CurrentRow.Cells[0].Value.ToString();

thisReader = thisCommand.ExecuteReader();

thisReader.ToString();

thisReader.Close();

break;

default:

break;

}

panel1.Visible = false;

connection.Close();

zhusl.MainSel(dataGridView1, "SELECT idz.fkidz AS [FKIDZ], idz.idzfksem AS [FKSEMIDZ], idz.idzfkpre, idz.nazva AS idznazva, klasu.fkklasu, uchni.fkuchni, klasu.klas AS [Клас], uchni.prizv AS [Прізвище], uchni.imya AS [Ім'я], uchni.pobat AS [Побатькові], idznazva.nazva AS [Назва ІДЗ], idz.ocinka AS [Оцінка], predmetu.nazva AS [Предмет] FROM (predmetu INNER JOIN (((uchni INNER JOIN semestru ON uchni.fkuchni = semestru.semfkuchen) INNER JOIN klasu ON uchni.fkklasu = klasu.fkklasu) INNER JOIN(idz INNER JOIN idznazva ON idz.nazva = idznazva.fkidznazva) ON semestru.fksem = idz.idzfksem) ON predmetu.fkpredm = idz.idzfkpre) WHERE (klasu.klas = " + strkl + " AND predmetu.nazva = " + strpredm + " AND idznazva.nazva = " + stridznazva + ")");

zhusl.VisiF(dataGridView1, 5);

}

Процедура створення нової оцінки для динамічної процедури:

private void addbutton_Click(object sender, EventArgs e)

{

//panel1.Height = 70;

MessageBox.Show(combfrog.Text);

connection.Open();

OleDbCommand thisCommand = new OleDbCommand();

thisCommand.Connection = connection;

thisCommand.CommandText = "SELECT nazva FROM idznazva ORDER BY nazva;";

OleDbDataReader thisReader = thisCommand.ExecuteReader();

thisReader.Close();

switch (dataGridView1.CurrentCell.ColumnIndex)

{

case 10:

thisCommand.CommandText = "INSERT INTO idznazva (nazva) VALUES(@Nazva);";

thisCommand.Parameters.Add("@nazva", OleDbType.VarChar).Value = combfrog.Text;

thisReader = thisCommand.ExecuteReader();

thisReader.ToString();

thisReader.Close();

connection.Close();

zhusl.combSel(combfrog, "SELECT nazva FROM idznazva ORDER BY nazva", false);

break;

case 12:

thisCommand.CommandText = "INSERT INTO predmetu (nazva) VALUES(@Nazva);";

thisCommand.Parameters.Add("@nazva", OleDbType.VarChar).Value = combfrog.Text;

thisReader = thisCommand.ExecuteReader();

thisReader.ToString();

thisReader.Close();

connection.Close();

zhusl.combSel(combfrog, "SELECT nazva FROM idznazva ORDER BY nazva", false);

break;

default:

break;

}

}

Блок відкриття, закриття панелі для додавання нової оцінки:

if (panel2.Visible) panel2.Visible = false; else

panel2.Visible = true;

Додання нової оцінки:

OleDbCommand thisCommanduch = new OleDbCommand("SELECT uchni.fkuchni FROM (uchni INNER JOIN klasu ON uchni.fkklasu = klasu.fkklasu) WHERE (klasu.klas = " + strkl + ")", connection);

OleDbCommand thisCommandsem = new OleDbCommand();

OleDbCommand thisCommand = new OleDbCommand();

OleDbCommand thisCommandi = new OleDbCommand();

connection.Open();

thisCommandi = new OleDbCommand("INSERT INTO idznazva (nazva) VALUES (@nazva)", connection);

thisCommandi.Parameters.Add("@nazva", OleDbType.VarChar).Value = textBox1.Text;

OleDbDataReader thisReaderuch2 = thisCommandi.ExecuteReader();

OleDbDataReader thisReaderuch = thisCommanduch.ExecuteReader();

string uch = "",uch2 = "";

bool kt = false;

thisReaderuch.ToString();

string stre = "",stre2 = "";

while (thisReaderuch.Read())

{

string rea = thisReaderuch[0].ToString();

thisCommandsem = new OleDbCommand("SELECT semestru.fksem FROM (semestru INNER JOIN uchni ON semestru.semfkuchen = uchni.fkuchni) WHERE (uchni.fkuchni = " + rea + ")", connection);

OleDbDataReader thisReadersem = thisCommandsem.ExecuteReader();

thisReadersem.ToString();

while (thisReadersem.Read())

{

if ((sem1.Checked) && (uch!=rea))

{

string reasem = thisReadersem[0].ToString();

thisCommand = new OleDbCommand("INSERT INTO idz (nazva, ocinka, idzfkpre, idzfksem) VALUES (@nazva, @ocinka, @idzfkpre, @idzfksem);", connection);

thisCommand.Parameters.Add("@nazva", OleDbType.VarChar).Value = getFK("SELECT fkidznazva FROM idznazva WHERE (nazva = '" + textBox1.Text + "')");

thisCommand.Parameters.Add("@ocinka", OleDbType.VarChar).Value = "0";

thisCommand.Parameters.Add("@idzfkpre", OleDbType.VarChar).Value = getFK("SELECT fkpredm FROM predmetu WHERE (nazva = " + strpredm + ")");

thisCommand.Parameters.Add("@idzfksem", OleDbType.VarChar).Value = reasem;

OleDbDataReader thisReader = thisCommand.ExecuteReader();

uch = rea;

kt = true;

}

else { kt = false; uch = rea; }

if ((sem2.Checked) && (uch == rea) && !kt)

{

kt = false;

}

else { }

}

}

connection.Close();

textBox1.Text = "";

panel2.Visible = false;

zhusl.combSel(combidz, "SELECT nazva FROM idznazva ORDER BY nazva", true);

Відкриття, закриття панелі для додання нового предмету:

if (panel3.Visible) panel3.Visible = false; else panel3.Visible = true;

Процедура виставлення оцінок із збереженням іх у базу даних:

void updOcinku()

{

connection.Open();

if (dataGridView1.CurrentRow.Cells[11].Value.ToString() == "") dataGridView1.CurrentRow.Cells[11].Value = "0";

OleDbCommand thisCommand = new OleDbCommand("UPDATE idz SET ocinka = ? WHERE (fkidz= ?);", connection);

thisCommand.Parameters.Add("@ocinka", OleDbType.VarChar).Value = dataGridView1.CurrentRow.Cells[11].Value.ToString();

thisCommand.Parameters.Add("@fkidz", OleDbType.VarChar).Value = dataGridView1.CurrentRow.Cells[0].Value.ToString();

OleDbDataReader reader = thisCommand.ExecuteReader();

reader.Close();

connection.Close();

}

Відалення вибраної оцінки:

OleDbCommand thisCommandsem = new OleDbCommand();

OleDbCommand thisCommand = new OleDbCommand();

OleDbCommand thisCommandi = new OleDbCommand();

OleDbDataReader thisReader;

connection.Open();

thisCommandsem = new OleDbCommand("SELECT idz.fkidz FROM (idz INNER JOIN idznazva ON idz.nazva = idznazva.fkidznazva) WHERE (idznazva.nazva = " + stridznazva + ")", connection);

OleDbDataReader thisReadersem = thisCommandsem.ExecuteReader();

thisReadersem.ToString();

while (thisReadersem.Read())

{

string rea = thisReadersem[0].ToString();

thisCommand = new OleDbCommand("DELETE FROM idz WHERE (fkidz = " + rea + ")", connection);

thisReader = thisCommand.ExecuteReader();

}

thisCommandi = new OleDbCommand("DELETE FROM idznazva WHERE (nazva = " + stridznazva + ")", connection);

thisReader = thisCommandi.ExecuteReader();

connection.Close();

zhusl.combSel(combidz, "SELECT nazva FROM idznazva ORDER BY nazva", true);

combidz.SelectedIndex = 0;

Добавлення нового предмету:

connection.Open();

OleDbCommand thisCommand = new OleDbCommand("INSERT INTO predmetu (nazva) VALUES(@nazva);", connection);

thisCommand.Parameters.Add("@nazva", OleDbType.VarChar).Value = textBox2.Text;

OleDbDataReader thisReader = thisCommand.ExecuteReader();

thisReader.ToString();

connection.Close();

zhusl.combSel(combpredm, "SELECT nazva FROM predmetu ORDER BY nazva", true);

textBox2.Text = "";

panel3.Visible = false;

Видалення предмету і всіх оцінок пов'язаних з ним:

OleDbCommand thisCommandsem = new OleDbCommand();

OleDbCommand thisCommand = new OleDbCommand();

OleDbCommand thisCommandi = new OleDbCommand();

OleDbDataReader thisReader;

connection.Open();

thisCommandsem = new OleDbCommand("SELECT idz.fkidz FROM (idz INNER JOIN predmetu ON idz.idzfkpre = predmetu.fkpredm) WHERE (predmetu.nazva = " + strpredm + ")", connection);

OleDbDataReader thisReadersem = thisCommandsem.ExecuteReader();

thisReadersem.ToString();

while (thisReadersem.Read())

{

string rea = thisReadersem[0].ToString();

thisCommand = new OleDbCommand("DELETE FROM idz WHERE (fkidz = " + rea + ")", connection);

thisReader = thisCommand.ExecuteReader();

}

thisCommandi = new OleDbCommand("DELETE FROM predmetu WHERE (nazva = " + strpredm + ")", connection);

thisReader = thisCommandi.ExecuteReader();

connection.Close();

zhusl.combSel(combpredm, "SELECT nazva FROM predmetu ORDER BY nazva", true);

zhusl.combSel(combidz, "SELECT nazva FROM idznazva ORDER BY nazva", true);

combpredm.SelectedIndex = 0;

Рисунок 3.4 - Форма редагування даних.

Функція для заповнення даними об'єктів DataGridView модуля «zhu.cs»:

public void MainSel(DataGridView datta,string zaput1)

{

connection.Open();

OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter(zaput1, connection);

DataSet dSet = new DataSet();

adapter.Fill(dSet);

datta.DataSource = dSet.Tables[0];

connection.Close();

}

Функція для заповнення даними об'єктів ComboBox модуля «zhu.cs»:

public void combSel(ComboBox combi, string stre,bool resh)

{

// OleDbDataAdapter adapter;

combi.Items.Clear();

OleDbCommand thisCommand = new OleDbCommand(stre, connection);

connection.Open();

OleDbDataReader thisReader = thisCommand.ExecuteReader();

thisReader.ToString();

if (resh) combi.Items.Add("*");

while (thisReader.Read())

combi.Items.Add(thisReader[0].ToString());

thisReader.Close();

connection.Close();

}

Функція для коректного відображеня даних в об'єктах DataGridView модуля «zhu.cs»:

public void VisiF(DataGridView dataGridParent, int county)

{

CurrencyManager cmgr = (CurrencyManager)dataGridParent.BindingContext[dataGridParent.DataSource];

cmgr.SuspendBinding();

for (int i = 0; i <= county; i++)

dataGridParent.Columns[i].Visible = false;

cmgr.ResumeBinding();

}

3.3 Інструкція користувача

При запуску програми з'являється форма зі списком усіх учнів школи:

Рисунок 3.5 - Головна форма.

У ній можна вибрати клас який нас цікавить у випадаючому списку, який знаходиться у верхньому лівому куті:

Рисунок 3.6 - Вибір класу за яким проведеться вибірка.

Якщо ж двічі клацнути по якомусь з учнів, то з'виться форма з його успішністтю:

Рисунок 3.7 - Успішність вибраного учня.

Для переходу на форму редагування потрібно натиснути кнопку «Форма редагування успішності», яка знаходиться у верхньому правому куті головної форми.

Рисунок 3.7 - Форма редагування.

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

3.4 Вимоги до технічних засобів

Вимоги до апаратних засобів значною мірою залежать не від вимог розробленого програмного забезпечення, а від вимог операційної системи. Однак рекомендованими мінімальними вимогами до апаратного забезпечення розрахункової програми можна вважати такі:

процесор - AMD Athlon 1.8 GHz або його аналог іншого виробника;

обсяг оперативної пам'яті - 256 MB Мбайт;

обсяг вільного місця на диску - 20 MB.

Зазначені мінімальними вимоги до апаратного забезпечення стосуються лише IBM-сумісних персональних комп'ютерів, оскільки для комп'ютерів сімейства Apple Macintosh тестування розробленого програмного забезпечення не проводилося.

До зазначених апаратних вимог необхідно також додати наявність мінімальної розширювальної здатності монітору 800*600.

Вимоги до програмного забезпечення викладені нижче.

У якості операційної системи комп'ютера можуть виступати: Windows XP/Vista/7 x86 - x64. Тестування з іншими операційними системами не проводилось.

Висновки

Як висновок, можна відзначити, що електронні журнали необхідно розглядати не як новомодний спосіб відображення оцінок, а як потужний засіб підвищення успішності і рівня освіти в цілому на рівні школи.

Для кращої реалізації власного проекту було проведено огляд новітніх інформаційних технологій, та програмного забезпечення, що могли б бути використані для розробки сучасного, ефективного та головне конкуренто здатного програмного продукту. Для роботи обрано середовище розробки програмного забезпечення Microsoft Visual Studio 2008.

Література

1. А. Климов C#. Советы программистам,2008 - 658с.

2. Чарльз Петцольд Программирование с использованием Microsoft Windows Forms Русская Редакция, -Питер,2006 - 432с

3. Павловская Т.А. C#. Программирование на языке высокого уровня,2009 - 453с

4. Фаронов В.В. Программирование на языке С#,2007 - 240с.

5. Ульман Л. MySQL: Пер. с англ. Слинкина А.А -- М.: ДМК Пресс; СПб.: Питер, 2004. -- 352 с.

6. Интернет-Университет Информационных Технологий [Електронний ресурс]. - Режим доступу: http://www.INTUIT.ru

7. Библиотека класов С# [Електронний ресурс]. - Режим доступу: http://msdn.microsoft.com/

8. Форум программистов .NET [Електронний ресурс]. - Режим доступу: http://forum.vingrad.ru/forum/

Страницы: 1, 2, 3, 4, 5



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.