На этом шаге мы приведем тексты обработчиков событий приложения.
Следующее, что надо сделать, — создать функции обработки событий FormLoad и FormClising формы. Функция обработки события FormLoad должна загрузить данные, события FormClising — сохранить изменения, сделанные пользователем. Загрузку данных выполняет метод Fill (в результате серверу направляется команда SELECT) компонента OleDbDataAdapter, которому в качестве параметра передается таблица объекта DataSet, заполняемая в результате выполнения команды. Следует обратить внимание на то, что все изменения, сделанные пользователем, автоматически фиксируются в базе данных в момент перехода к следующей записи. Однако если пользователь, не завершив, например, редактирование данных текущей записи, закроет окно программы, сделанные изменения не будут зафиксированы в базе данных. Поэтому, перед тем как завершить работу программы, надо принудительно обновить данные.
Приведем текст приложения.
// Начало работы программы private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { // Загрузить данные oleDbDataAdapter1->Fill(dataTable1); } // Пользователь выделил строку и нажал клавишу Delete private: System::Void dataGridView1_UserDeletingRow(System::Object^ sender, System::Windows::Forms::DataGridViewRowCancelEventArgs^ e) { System::Windows::Forms::DialogResult dr = MessageBox::Show("Удалить запись?", "Удаление записи", MessageBoxButtons::OKCancel, MessageBoxIcon::Warning, MessageBoxDefaultButton::Button2); if (dr == System::Windows::Forms::DialogResult::Yes) { e->Cancel = true; } } private: System::Void Form1_FormClosing(System::Object^ sender, System::Windows::Forms::FormClosingEventArgs^ e) { // Обновить данные oleDbDataAdapter1->Update(dataSet1->Tables["contacts"]); }
Со следующего шага мы начнем рассматривать выбор информации из базы данных.