Шаг 88.
Microsoft Visual C++ 2010. Начала.
Базы данных. База данных Microsoft Access. Отображение данных (окончание)

    На этом шаге мы приведем тексты обработчиков событий приложения.

    Следующее, что надо сделать, — создать функции обработки событий 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"]);
	 }
Архив проекта вместе с базой данных можно взять здесь.

    Со следующего шага мы начнем рассматривать выбор информации из базы данных.




Предыдущий шаг Содержание Следующий шаг