§ 19. Кампаненты для работы з базамі даных
Практыкаванні
Для праекта з прыкладу 19.13 дадайце наступныя магчымасці:
- Дадаць новую ўкладку для кампанента PageControl, якую варта назваць Форма.
- Размясціць на ўкладцы «Форма» наступныя кампаненты:
Кампанент поле DBEdit размешчаны на ўкладцы DataControls. Для такіх кампанентаў можна ўстанавіць сувязі з палямі базы даных, змяніўшы іх уласцівасці ў інспектары аб'ектаў:
3*. Дадаць магчымасць змены шрыфту і колеру для кампанентаў, размешчаных на форме.
2. Рэалізуйце магчымасць дадання запісаў у табліцу з выкарыстаннем дадатковай формы (для праекта прыкладу 19.13).
- Размясціце на ўкладцы «Таблица» кнопку «Добавить запись». Зрабіце яе нябачнай.
- Стварыце новую форму ў праекце: File-> New-> VCL Form — C++Builder.
- Захавайце форму ў папку з праектам.
- Дадайце радок #include "Unit2.h" у файл Unit1.h. (магчымасць доступу да другой формы з першай).
- Дадайце радок #include "Unit1.h" у файл Unit2.h. (магчымасць звяртацца да кампанентаў першай формы з другой).
- Размясціце на Form2:
• 5 кампанентаў LabeledEdit (назву размясціць злева: уласцівасць LabelPosition=lpLeft),
кампанент Button («ОК»).
Кнопка «Добавить запись» становіцца бачнай пасля адлюстравання табліцы. - Для кнопкі «Добавить запись» напісаць у апрацоўшчыку каманду:
Form2->Show();
У апрацоўшчыку кнопкі «ОК» на Form2 прапісаць наступныя каманды:
Form1->ADOTable1->Active = true;
Form1->ADOTable1->Fields->Fields[0]->ReadOnly = false;
Form1->ADOTable1->Fields->Fields[1]->ReadOnly = false;
Form1->ADOTable1->Fields->Fields[2]->ReadOnly = false;
…
Form1->ADOTable1->Insert();
Form1->ADOTable1->Fields->Fields[0]->Value = Form1->ADOTable1->RecordCount + 1;
Form1->ADOTable1->Fields->Fields[1]->Value = Form2->LabeledEdit1->Text;
…
Form1->ADOTable1->UpdateBatch();//прымяненне абнаўленняў
Form1->ADOTable1->Refresh(); - *Дадайце каманды праверкі карэктнасці дадаваных даных:
1. Прозвішча павінна запісвацца маленькімі літарамі, а пачынацца з вялікай літары.
2. Пасля прозвішча павінен быць адзін прабел.
3. Ініцыялы запісваюцца без прабелу, вялікімі літарамі з кропкай пасля іх.
4. Дата нараджэння мае фармат: 2 лічбы, кропка, 2 лічбы, кропка, чатыры лічбы. Праверыць карэктнасць даты (месяц ад 1 да 12, дзень ад 1 да (28, 29, 30,31), год ад 1900 да 2000).
5. Пол змяшчае адну літару: «м» або «ж».
6. Год прысваення звання — лік з прамежку [1900..20..]. *Правую мяжу прамежку года можна атрымліваць з бягучай даты.
7. Пры незахаванні фармату выдаваць адпаведнае паведамленне.
3. Для праекта з прыкладу 19.16 дадайце наступныя магчымасці:
- Дадайце кнопкі «Сохранить Запрос» і «Загрузить Запрос» (выкарыстоўваючы дыялогі работы з файламі).
- Стварыце і захавайце 3 запыты:
1. З палямі Название і Денежная единица, якія адлюстроўваюць краіны, у якіх грашовая адзінка еўра.
2. З палямі Название і Язык, якія адлюстроўваюць краіны, у якіх назва мовы пачынаецца з літар 'а 'ці 'н'.
3. Рэалізуйце свой запыт (складальны, адно з палёў павінна быць лічбавым). - Дадайце кнопку «Запрос 2» і тэкставае поле. Рэалізуйце запыт для пошуку краін, першыя літары назваў якіх уведзены ў тэкставае поле.
- Дадайце кнопку «Запрос 3», выпадальны спіс і тэкставае поле. У выпадальным спісе змясціце знакі «>, <, =». Рэалізуйце запыт для пошуку краін, плошча якіх — значэнні ( > ,<,=), уведзенага ў тэкставае поле.
- Дадайце кнопку «Запрос 4», і два спіса. У першы спіс змясціце назвы палёў, у другі — словы «возрастание», «убывание». Рэалізуйце запыт, які сартуе табліцу згодна з абраным крытэрыем.