Цель работы. Ознакомится с ядром баз данных компании Борланд – Borland Database Engine (BDE), а также научиться создавать и редактировать алиасы – механизм, облегчающий связь с базами данных и создавать таблицы баз данных с помощью приложения Database Desktop.
В лабораторной работе №14 заменить компонент DBGrid компонентами DBCtrlGrid, DBText, DBEdit, DBLookupListBox [если необходимо добавить поля соответствующих типов]. Настроить их параметры (шрифт, цвет, размер) для отображения данных трех любых таблиц (не менее 3 полей в каждой). Скрыть служебные поля (коды, номера). Задать маски ввода значений на все поля одной из таблиц (символьных, числовых и поле даты [если нет - добавить]). Для остальных предусмотреть обработку исключений.
Каждую таблицу разместить на отдельных страницах PageControl. С помощью стандартных компонентов сделать пояснения к редактируемым данным.
По нажатию кнопки «Добавить запись» добавить запись в главную таблицу и скопировать в нее значения полей, отображаемых в DBCtrlGrid. Для ключевого поля выполнить инкремент значения.
В подчиненную таблицу добавить новую запись. В ключевое поле скопировать значение соответствующего поля главной таблицы. Значения остальных полей запросить в отдельном окне и заполнить значениями из находящихся в этом окне компонентов Edit.
В поле даты занести текущую дату.
Экранная форма программы:
Исходный код программы:
#include <vcl.h>
#pragma hdrstop
#include "Uu13.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Table1->IndexName = "identificator";
Table1->Active = True;
Table1->SetKey();
Table1->FieldByName("id")->AsString = Edit1->Text;
Table1->GotoKey();
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
//TLocateOption << loPartialKey;
//SearchOptions << loPartialKey;
Edit3->Text = Table1->Lookup("Name",Edit3->Text, "Addr");
}
void __fastcall TForm1::Edit2Change(TObject *Sender)
{
Table1->IndexName = "Name_index";
Table1->FindNearest(&TVarRec(Edit2->Text),0);
}
void __fastcall TForm1::Button3Click(TObject *Sender)
{
try {
Table1->Last();
Table1->Next();
Table1->Edit();
Table1->Insert();
Table1->FieldByName("Name")->Value=MaskEdit1->Text;
Table1->FieldByName("Rogd")->Value=MaskEdit4->Text;
Table1->FieldByName("Klass")->Value=MaskEdit3->Text;
Table1->FieldByName("Addr")->Value=MaskEdit2->Text;
unsigned short Year, Month, Day;
Date().DecodeDate(&Year,&Month,&Day);
ListBox1->Items->Add(Date());
Table1->Post();
}
catch(...) {
ShowMessage("Ошибка!");
}
}
void __fastcall TForm1::Button4Click(TObject *Sender)
{
try {
Table2->Last();
Table2->Next();
Table2->Edit();
Table2->Insert();
Table2->FieldByName("id")->Value=MaskEdit5->Text;
Table2->FieldByName("Type")->Value=MaskEdit6->Text;
Table2->FieldByName("Fam")->Value=MaskEdit7->Text;
Table2->FieldByName("Data")->Value=MaskEdit8->Text;
Table2->FieldByName("Work")->Value=MaskEdit8->Text;
unsigned short Year, Month, Day;
Date().DecodeDate(&Year,&Month,&Day);
ListBox2->Items->Add(Date());
Table2->Post();
}
catch(...) {
ShowMessage("Ошибка!");
}
}
Вывод: Ознакомились с ядром баз данных компании Борланд – Borland Database Engine (BDE), а также научились создавать и редактировать алиасы – механизм, облегчающий связь с базами данных и создавать таблицы баз данных с помощью приложения Database Desktop.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.