Диплом: Автоматизация процесса контроля знаний учащихся ГОУ СОШ №17

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
95
textBox9->Visible = true; textBox10->Visible = true; textBox11->Visible =
true;
button3->Visible = true; button4->Visible = true; button5->Visible = true;
dataGridView1->Visible = true;
return;
}
public: System::Void button4_Click(System::Object^ sender, System::EventArgs^
e) {
//Сохранение
try
{
if (textBox12->Text == "")
{
MessageBox::Show("Не указан название предмета");
return;
}
else
{
if (textBox1->Text == "")
{
MessageBox::Show("Не указан название теста");
return;
}
}
96
auto Подключение = gcnew OleDb::OleDbConnection(
"Data Source=\"Database2003.mdb\";User " +
"ID=Admin;Provider=\"Microsoft.Jet.OLEDB.4.0\";");
Подключение->Open();
auto Команда = gcnew OleDb::OleDbCommand("SELECT * From *",
Подключение);
//Создаем объект класса Adapter и выполняем SQL-запрос
auto Адаптер = gcnew OleDb::OleDbDataAdapter(Команда);
//Создаем объект класса DataSet
auto НаборДанных = gcnew DataSet();
// Содержимое DataSet в виде строки XML для отладки:
String^ СтрокаXML = НаборДанных->GetXml();
//Сохранение в базе
String^ НазваниеТеста = textBox12->Text + " Тест " + textBox1-
>Text;
//Добавляет в таблицу Предмета колонку с названием тест
Команда->CommandText = (String::Format("ALTER TABLE [{0}]
ADD COLUMN [{1}] TEXT(100)", textBox12->Text, НазваниеТеста));
Команда->ExecuteNonQuery();
//Создаем таблицу теста в базе
String^ ТекстКоманды;
for (int i = 2; i < Convert::ToInt32(label4->Text); i++)
{
ТекстКоманды += String::Format(", [{0}] TEXT", i);
}
97
Команда->CommandText = (String::Format("CREATE TABLE [{0}]
([1] TEXT"+ ТекстКоманды + ")", НазваниеТеста));
Команда->ExecuteNonQuery();
//Вносим данные в таблицу теста в базе по строчно
String^ СтрокаТаблицы;
int ЧислоКолонок = dataGridView1->ColumnCount;
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < ЧислоКолонок; j++) {
СтрокаТаблицы += String::Format(" '{0}',",
dataGridView1[j, i]->Value);
}
СтрокаТаблицы = СтрокаТаблицы->Substring(0,
СтрокаТаблицы->Length - 1);
Команда->CommandText = (String::Format("INSERT INTO
[{0}] VALUES ({1})", НазваниеТеста, СтрокаТаблицы));
Команда->ExecuteNonQuery();
СтрокаТаблицы = "";
}
Подключение->Close();
MessageBox::Show("Тест успешно сохранен в базе");
label4->Text = Convert::ToString(1);
dataGridView1->ColumnCount = 0;
textBox1->Text = ""; textBox2->Clear(); textBox3->Clear(); textBox4-
>Clear(); textBox5->Clear();
98
textBox6->Clear(); textBox7->Clear(); textBox8->Clear(); textBox9-
>Clear(); textBox10->Clear();
textBox11->Clear(); textBox12->Clear();
}
catch (Exception ^ Ситуация)
{
// Отчет о других ошибках:
MessageBox::Show(Ситуация->Message, "Ошибка",
MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
}
}
};
}
Листинг 3 экранной формы:
#pragma endregion
String^ НазваниеТеста;
int КоличествоКолонок;
int НомерВопроса = 2;
DataSet^ НаборДанных;
OleDb::OleDbConnection^ Подключение;
OleDb::OleDbCommand^ Команда;
OleDb::OleDbDataAdapter^ Адаптер;
String^ НазваниеТаблиц;
int Пробел;
99
public: System::Void MyForm2_Load(System::Object^ sender,
System::EventArgs^ e) {
Подключение = gcnew OleDb::OleDbConnection(
"Data Source=\"Database2003.mdb\";User " +
"ID=Admin;Provider=\"Microsoft.Jet.OLEDB.4.0\";");
Подключение->Open();
for each (DataRow ^ dataRow in Подключение->GetSchema("Tables")-
>Rows)
{
if (Convert::ToString(dataRow->ItemArray[3]) == "TABLE")
{
if (Convert::ToString(dataRow->ItemArray[2]) !=
"Пользователи")
{
НазваниеТаблиц = Convert::ToString(dataRow-
>ItemArray[2]);
Пробел = НазваниеТаблиц->IndexOf(" ");
if (Пробел != -1) {
comboBox1->Items-
>Add(Convert::ToString(dataRow->ItemArray[2]));
}
}
}
}
Подключение->Close();
100
}
public: System::Void comboBox1_SelectedIndexChanged(System::Object^ sender,
System::EventArgs^ e) {
НазваниеТеста = comboBox1->Text;
}
public: System::Void button1_Click(System::Object^ sender, System::EventArgs^
e) {
try
{
int АдресТеста = НазваниеТеста->IndexOf("Тест");
String^ НазваниеПредмета = НазваниеТеста->Substring(0,
АдресТеста - 1);
label16->Text = НазваниеПредмета;
label4->Text = "1";
Команда = gcnew OleDb::OleDbCommand(String::Format("SELECT *
From [{0}]", НазваниеТеста), Подключение);
Подключение->Open();
//Создаем объект класса Adapter и выполняем SQL-запрос
Адаптер = gcnew OleDb::OleDbDataAdapter(Команда);
//Создаем объект класса DataSet
НаборДанных = gcnew DataSet();
//Заполняем DataSet результатом SQL-запроса
Адаптер->Fill(НаборДанных, String::Format("{0}", НазваниеТеста));
Подключение->Close();
dataGridView1->DataSource = НаборДанных;
101
dataGridView1->DataMember = String::Format("{0}", НазваниеТеста);
КоличествоКолонок = dataGridView1->ColumnCount;
textBox1->Text = Convert::ToString(dataGridView1[0, 0]->Value);
textBox2->Text = Convert::ToString(dataGridView1[0, 1]->Value);
textBox3->Text = Convert::ToString(dataGridView1[0, 2]->Value);
textBox4->Text = Convert::ToString(dataGridView1[0, 3]->Value);
textBox5->Text = Convert::ToString(dataGridView1[0, 4]->Value);
textBox6->Text = Convert::ToString(dataGridView1[0, 5]->Value);
textBox7->Text = Convert::ToString(dataGridView1[0, 6]->Value);
textBox8->Text = Convert::ToString(dataGridView1[0, 7]->Value);
textBox9->Text = Convert::ToString(dataGridView1[0, 8]->Value);
textBox10->Text = Convert::ToString(dataGridView1[0, 9]->Value);
НомерВопроса = 1;
}
catch (Exception ^ Ситуация) {
// Отчет о других ошибках:
MessageBox::Show(Ситуация->Message, "Ошибка",
MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
}
}
public: System::Void button3_Click(System::Object^ sender, System::EventArgs^
e) {
//Вперед
try {
102
//Сохранить данные
dataGridView1[НомерВопроса - 1, 0]->Value = textBox1->Text;
dataGridView1[НомерВопроса - 1, 1]->Value = textBox2->Text;
dataGridView1[НомерВопроса - 1, 2]->Value = textBox3->Text;
dataGridView1[НомерВопроса - 1, 3]->Value = textBox4->Text;
dataGridView1[НомерВопроса - 1, 4]->Value = textBox5->Text;
dataGridView1[НомерВопроса - 1, 5]->Value = textBox6->Text;
dataGridView1[НомерВопроса - 1, 6]->Value = textBox7->Text;
dataGridView1[НомерВопроса - 1, 7]->Value = textBox8->Text;
dataGridView1[НомерВопроса - 1, 8]->Value = textBox9->Text;
dataGridView1[НомерВопроса - 1, 9]->Value = textBox10->Text;
//Листать в перед
if (НомерВопроса < КоличествоКолонок)
{
НомерВопроса = Convert::ToInt32(label4->Text) + 1;
}
else
{
НомерВопроса = 1;
}
label4->Text = Convert::ToString(НомерВопроса);
textBox1->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 0]->Value);
103
textBox2->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 1]->Value);
textBox3->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 2]->Value);
textBox4->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 3]->Value);
textBox5->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 4]->Value);
textBox6->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 5]->Value);
textBox7->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 6]->Value);
textBox8->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 7]->Value);
textBox9->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 8]->Value);
textBox10->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 9]->Value);
}
catch (Exception ^ Ситуация) {
// Отчет о других ошибках:
MessageBox::Show(Ситуация->Message, "Ошибка",
MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
}
}
104
public: System::Void button2_Click(System::Object^ sender, System::EventArgs^
e) {
//Назад
try {
//Сохранить данные
dataGridView1[НомерВопроса - 1, 0]->Value = textBox1->Text;
dataGridView1[НомерВопроса - 1, 1]->Value = textBox2->Text;
dataGridView1[НомерВопроса - 1, 2]->Value = textBox3->Text;
dataGridView1[НомерВопроса - 1, 3]->Value = textBox4->Text;
dataGridView1[НомерВопроса - 1, 4]->Value = textBox5->Text;
dataGridView1[НомерВопроса - 1, 5]->Value = textBox6->Text;
dataGridView1[НомерВопроса - 1, 6]->Value = textBox7->Text;
dataGridView1[НомерВопроса - 1, 7]->Value = textBox8->Text;
dataGridView1[НомерВопроса - 1, 8]->Value = textBox9->Text;
dataGridView1[НомерВопроса - 1, 9]->Value = textBox10->Text;
//Листать в назад
if (НомерВопроса == 1)
{
НомерВопроса = КоличествоКолонок;
}
else
{
НомерВопроса = Convert::ToInt32(label4->Text) - 1;
}

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)