Создание обработчиков событий.
Теперь нам необходимо написать функции для управления нашей БД. Для этого нам потребуются следующие методы компонента TTable:
First()-этот метод перемещает указатель текущей записи на первую запись;
Last()-этот метод перемещает указатель текущей записи на последнюю запись;
Eof-это свойство принимает значение true, если указатель текущей записи находится на последней записи;
Bof-это свойство принимает значение true, если указатель текущей записи находится на первой записи;
Next()-это свойство переводит указатель текущей записи на следующую запись;
Prior()-это свойство переводит указатель текущей записи на предыдущую запись
Edit()-этот метод перебодит таблицу в режим редактирования;
Insert()-этот метод переводит таблицу в режим вставки;
Delete()-этот метод удаляет запись;
Post()-этот метод сохраняет изменённую таблицу;
Cancel()-этот метод отменяет внесённые изменения, не сохранённые физически.
Начнём создовать обработчики от событий меню:
В начало
void __fastcall TForm1::N2Click(TObject *Sender)
{
Table1->First();
}
В конец
void __fastcall TForm1::N3Click(TObject *Sender)
{
Table1->Last();
}
На следующую
void __fastcall TForm1::N4Click(TObject *Sender)
{
if(!Table1->Eof)Table1->Next();
}
На предыдущую
void __fastcall TForm1::N5Click(TObject *Sender)
{
if(!Table1->Bof)Table1->Prior();
}
Редактирование
void __fastcall TForm1::N6Click(TObject *Sender)
{
Table1->Edit();
}
Вставка
void __fastcall TForm1::N7Click(TObject *Sender)
{
Table1->Insert();
}
Удалить
void __fastcall TForm1::N8Click(TObject *Sender)
{
Table1->Delete();
}
Сохранить
void __fastcall TForm1::N9Click(TObject *Sender)
{
if((Table1->State==dsEdit)|| (Table1->State==dsInsert))Table1->Post();
}
Отменить
void __fastcall TForm1::N10Click(TObject *Sender)
{
Table1->Cancel();
}
Выход
void __fastcall TForm1::N12Click(TObject *Sender)
{
if((Table1->State==dsEdit)|| (Table1->State==dsInsert))
{
int ind=MessageBox(0,"Сохранить изменённые данные?","Вопрос",MB_YESNOCANCEL);
if(ind==IDYES) Table1->Post();
else if(ind==IDNO) Close();
else return;
}
Close();
}
|