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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
105
label4->Text = Convert::ToString(НомерВопроса);
textBox1->Text = Convert::ToString(dataGridView1[НомерВопроса -
1, 0]->Value);
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);
106
}
}
public: System::Void button4_Click(System::Object^ sender, System::EventArgs^
e) {
try
{
Подключение->Open();
//Очищаем таблицу теста в бд
Команда->CommandText = (String::Format("DELETE FROM [{0}]",
НазваниеТеста));
Команда->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();
107
СтрокаТаблицы = "";
}
Подключение->Close();
MessageBox::Show("Тест успешно сохранен в базе");
}
catch (Exception ^ Ситуация)
{
// Отчет о других ошибках:
MessageBox::Show(Ситуация->Message, "Ошибка",
MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
}
}
};
}
Листинг 4 экранной формы
#pragma endregion
DataTable^ Таблица = gcnew DataTable(); // Объявление объекта
таблица данных
DataTable^ ТаблицаОтветов = gcnew DataTable();
DataSet^ НаборДанных; // Объявление объекта набор данных
String^ НазваниеТеста;
String^ tmp;
int НомерВопроса = 1;
int НомерВопросаТБ = 0;
108
int ВыбранОтвет;
int НомерПравОтвета;
array<String^>^ НеПравилОтветы;
int КоличествоСтолбцов;
int КоличествоСтрок;
RadioButton^ Переключатель;
OleDb::OleDbDataAdapter^ Адаптер;
OleDb::OleDbConnection^ Подключение;
OleDb::OleDbCommand^ Команда;
int Секунды;
int минуты;
int Секунды1;
int временая60 = 60;
String^ НазваниеТаблиц;
int Пробел;
public: System::Void MyForm_Load(System::Object^ sender,
System::EventArgs^ e) {
auto Подключение = 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)
{
109
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();
radioButton1->CheckedChanged +=gcnew EventHandler(this,
&MyForm::ИзмСостПерекл);
radioButton2->CheckedChanged += gcnew EventHandler(this,
&MyForm::ИзмСостПерекл);
radioButton3->CheckedChanged += gcnew EventHandler(this,
&MyForm::ИзмСостПерекл);
radioButton4->CheckedChanged += gcnew EventHandler(this,
&MyForm::ИзмСостПерекл);
radioButton5->CheckedChanged += gcnew EventHandler(this,
&MyForm::ИзмСостПерекл);
Источник: https://baza.diplomsite.ru/previewfile/2096