Шаг 11 - Как Колю сделать Васей ?

Добалять записи мы научились. Но как оказывается, кто бы мог подумать, их необходимо еще и редактировать. Это являение вызвано несовершенством нашего мира. Например жена может поменяться :-)

Смотрим код:

void CDatebaseDlg::OnOpen() 
{ 
	MyCrec cr(NULL);
	try
	{
		cr.m_nFields=1;
		cr.Open(CRecordset::dynaset, "SELECT *  FROM TABLE3"); 
		cr.Move(0);
		cr.Edit();
		AfxMessageBox(cr.m_Fam);
		cr.m_Fam="Yaci";
		cr.Update();
		cr.Close(); 
	}
	catch(CDBException cdb)
	{
		AfxMessageBox(cdb.m_strStateNativeOrigin);
	}
}

Первой камандой мы перемещаемся к первой записи (0). Это всегда возмущало меня. Если запись первая, то и должна начинаться с 1, а не 0. Отсюда столько ошибок !!! Но факт.

Функцией Edit мы разрешаем начать редактировать запись. Эта функция вызовет механизм RFX дабы уведомить о том, что мы будет редактировать. Это нормально. И хорошо, а не так как некоторые начальники, правят еще не прочитав. Соответственно мы можем увидеть, что изменим. Для этого и используется функция AfxMessageBox.

Теперь мы присваиваем новое значение переменной и вызываем Update, дабы закрепить изменение.

Получилось. Вот только если Вы Васю теперь захотите сделать Катей это уже не нормально. Но у кого какой вкус :-)) По мне лучше удалить, чем мы с Вами и займемся.

void CDatebaseDlg::OnOpen() 
{ 
	MyCrec cr(NULL);
	try
	{
		cr.m_nFields=1;
		cr.Open(CRecordset::dynaset, "SELECT *  FROM TABLE3"); 
		cr.Move(1);
		cr.Delete();
		cr.Close(); 
	}
	catch(CDBException cdb)
	{
		AfxMessageBox(cdb.m_strStateNativeOrigin);
	}
}

Просто до ужаса. Открываем CRecordset, переходим на запись, удаляем, закрываем. Что здесь можно написать еще?


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.