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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
85
Приложение 1 Код программы EASTest
Листинг 1 экранной формы:
#pragma endregion
DataTable^ Таблица; // Объявление объекта таблица данных
DataSet^ НаборДанных; // Объявление объекта набор данных
bool Авторизация = /*true;*/false;
String^ Доступ;
private: System::Void EASTest_Load(System::Object^ sender,
System::EventArgs^ e) {
Таблица = gcnew DataTable();
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 результатом SQL-запроса
Адаптер->Fill(НаборДанных, "Пользователи");
// Содержимое DataSet в виде строки XML для отладки:
auto СтрокаXML = НаборДанных->GetXml();
86
//Заполняем DataTable значениями таблицы DataSet
Таблица = НаборДанных->Tables["Пользователи"];
Подключение->Close();
}
public: System::Void Button1_Click(System::Object^ sender, System::EventArgs^
e) {
String^ x1 = button1->Text;
// Извлекаем коллекцию строк (рядов) из таблицы DataTable:
EnumerableRowCollection<DataRow^>^ СтрокиПользователей =
DataTableExtensions::AsEnumerable(Таблица);
// Создаем словарь Пользователей:
Generic::Dictionary<String^, String^>^ ПользователиПароли = gcnew
Generic::Dictionary<String^, String^>();
for each (DataRow ^ Ряд in СтрокиПользователей)
{// В каждом ряду находим название пользовотеля и его пароль:
String^ Пользователь1 = DataRowExtensions::
Field<String^>(Ряд, "Имя пользователя");
String^ Пароль = DataRowExtensions::
Field<String^>(Ряд, "Пароль");
//Добовляем пользователей и пароли в библиотеку
ПользователиПароли:
ПользователиПароли->Add(Пользователь1, Пароль);
};
87
// представление в строчном виде введенных значений логина и
пароля:
String^ ключь = textBox1->Text;
String^ значение = textBox2->Text;
//Проверка на подлиность логина и пароля сверка с библиотекой
ПользователиПароли:
if (ПользователиПароли->ContainsKey(ключь))
{
String^ x = ("value = { 0 }", ПользователиПароли[ключь]);
if (значение == x)
{//Остается Имя пользователя в ментке label1 и убирает
объекты для ввода:
label1->Text = ключь;
textBox1->Visible = false; textBox2->Visible = false;
label2->Visible = false;
button1->Visible = false; button2->Visible = true;
Авторизация = true;
}
else
{
MessageBox::Show("Пароль не верный");
};
}
else
88
{
MessageBox::Show("Не верное имя пользователя");
};
auto Подключение = gcnew OleDb::OleDbConnection(
"Data Source=\"Database2003.mdb\";User " +
"ID=Admin;Provider=\"Microsoft.Jet.OLEDB.4.0\";");
Подключение->Open();
auto Команда = gcnew OleDb::OleDbCommand(String::Format("Select
[Доступ] From [Пользователи] WHERE [Имя пользователя] = '{0}'", label1-
>Text), Подключение);
OleDbDataReader^ dataReader = Команда->ExecuteReader();
while (dataReader->Read())
{
Доступ = dataReader["Доступ"]->ToString();
}
Подключение->Close();
dataReader->Close();
};
private: System::Void ВыходToolStripMenuItem_Click(System::Object^ sender,
System::EventArgs^ e) {
Application::Exit();
}
private: System::Void Button2_Click(System::Object^ sender, System::EventArgs^
e) {
textBox1->Visible = true; textBox2->Visible = true; label2->Visible = true;
89
button1->Visible = true; button2->Visible = false; label1->Text = "Введите
имя пользователя:";
Авторизация = false;
}
private: System::Void Button4_Click(System::Object^ sender, System::EventArgs^
e) {
if (Авторизация == true)
{
MyForm^ Myform = gcnew MyForm();
Myform->Show();
Myform->label1->Text = label1->Text;
}
else
{
MessageBox::Show("Пройдите авторизацию пользователя");
}
}
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^
e) {
if (Авторизация == true)
{
if (Доступ == "Админ" || Доступ == "Учитель")
{
MyForm1^ Myform1 = gcnew MyForm1();
Myform1->Show();
Источник: https://baza.diplomsite.ru/previewfile/2096