Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМКД Ақпараттық жүйелердің және технологиялардың теориялық негіздері.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
9 Мб
Скачать
☆

Зертханалық жұмыс №14

Тақырыбы: Есеп берулер құру.

Мақсаты: Есеп берулер құру және QuickRep компонентінің қызметін меңгеру.

Көп жағдайларда мәліметтер базасының кестелерінде сақталатын мәліметтерді есеп беру құра отырып, баспаға шығару талап етіледі. Delphi-де есеп беруді құру үшін компоненттердің кең көлемді жиынынан тұратын QuickReport есеп беру генераторы қолданылады. Есеп беруді тұрғызу кезінде есеп беру қасиеттерін толығымен анықтайтын QuickRep орталық компонент болып табылады. Бұл компонент үнемі жеке бос формаға орналасады.

QuickRep компоненті мәліметтер жиыны Table немесе Query-мен байланысады, ол үшін DataSet қасиетінің көмегімен есеп беру құрылады.

Есеп беру, құрылған құжаттың түрін және мазмұнын анықтайтын, есеп берудің құрама бөлімдері - жеке жолақтардан тұрады. Жолақтар есеп берудің элементін білдіреді. Әр жолақ өзінің орнында орналасады және есеп берудің сәйкес компонненттерінің көрінуі мен мәліметтерді шығаруға арналған. Есеп берудегі жолақтарды Bands қасиетінің көмегімен басқаруға болады. Қосымшаны жасау кезінде жолақтарды айырып/қосу Bands қасиетінің ішкі қасиетіне сәйкес логикалық мәнді қою арқылы орындалады, мысалы, есеп берудің тақырып жолағы үшін мұндай қасиет HasTitle болып табылады.

Жаңа форма құрып, оны Үлгерім кестесінің формасымен байланыстырамыз (File -Use Unit). Құрылған формаға QReport бетінен QuickRep компонентін орналастырамыз.

Delphi-дің жетінші нұсқасында QReport автоматты түрде қондырылмайды, сондықтан ол негізгі беттердің тізімінің ішінде ол жоқ. Бетті қосу үшін:

  1. Component менюінен Install Packages бөлімін таңдаймыз.

  2. Пайда болған терезедегі Add батырмасын басамыз.

  1. Add Design Package сұхбат терезесінде Bin бумасын ашып, delqrt70 файлын таңдап, Открыть батырмасын басамыз.

  1. Қайта пайда болған терезеден Ok батырмасын басамыз.

Bands қасиетінің HasTitle, HasDetail, HasColumnHeader ішкі қасиеттеріне true мәнін орнатыңыз.

Содан кейін отчеттің Title жолағына QReport бетіндегі QRLabel компонетнін орналастырып, оның Caption қасиетіне есеп беру мәнін орнатыңыз. ColumnHeader

жолағына алты QRLabel компонентін орналастырып, оның Caption қасиетіне суретке сәйкес мәндерді орнатамыз.

Сур.11. Есеп берулерді құру

Detail жолағына алты QRDBText компонентін орналастырамыз. DataSet қасиетіне Form2.Table1 мәнін орнатамыз. DataField қасиетіне сәйкес жолдардың мәндерін орнатамыз, мысалы, QRDBText1 компонентінің DataField қасиетіне NZachet орнатамыз.

Үлгерім кестесінің формасына өтіп, Отчет батырмасы үшін келесі кодты енгізіңіз:

Form4.QuickRep1.Preview;

Тапсырма:

Жатақхана формасына жазбаларға есеп беру құрыңыз.

Тақырыпқа байланысты бақылау сұрақтары:

  1. QReport бетін қалай шығарамыз?

  2. QuickRep компоненті қандай қызмет атқарады?

  3. HasTitle, HasDetail, HasColumnHeader ішкі қасиеттері қандай қызмет атқарады?

Зертханалық жұмыс №15. Тақырыбы: query мәліметтер жиыны.

Мақсаты: SQL-сұранысының көмегімен мәліметтер базасының кестесін құру.

Query компоненті SQL-сұранысының орындалуы нәтижесінде жазбалары құрылатын мәліметтер жиынын білдіреді. Сұраныс мәтіні, оның негізінде мәліметтер жиынына жазбалар іріктеледі, SQL қасиеттерінде орналасады. Сұраныс SQL тіліндегі командалардан тұрады және мәліметтер жиыны ашылған кезде орындалады. Сұраныс бұл сұрақты қанағаттандыратын жазба немесе көптеген жазбаларды қайтаратын мәліметтер базасына қойылатын сұрақ.

Қадам1. Жаңа каталог құрыңыз және оған Demo-Query атты псевдоним көрсетіңіз. Delphi7 бағдарламасын жүктеп, форма бетіне суретте көрсетілгендей етіп DBGrid1, Button1, Button2, Button3, Button4, DataSource1, Query1 компоненттерін орналастырыңыз.

Сур.10. Сұраныс көмегімен кесте құру терезесі

Қадам2. Пәндер кестесін құру батырмасының OnClick оқиғасының өңдеуішін құрып, оған төмендегі келесі кодты жазыңыз:

procedure TForm1.Button1Click(Sender: TObject); begin

Query1.DatabaseName:='Demo-Query';

with Query1 do

begin

SQL.Clear;

SQL.Add('Create Table Predmet ('); SQL.Add('Cod char (10) ,'); SQL.Add('Nazvanie char (15) ,'); SQL.Add('Prepodavatel char (15));');

try

ExecSQL;

except

on E:EDBEngineError do

begin

ShowMessage('МБ кестесін құру кезіндегі қате'+#13+E.Меssage);

end;

end;

end;

Query 1. Active :=false; Query1.SQL.Clear;

Query 1. S QL .Add('select*from predmet .db');

Query1.ExecSQL;

Query1.Active:=true;

end;

Осылайша біз Пәндер кестесін құрдық.

ҚадамЗ. Осындай жолмен көрші екі батырмаға Магистранттер және Бағалар деген екі кесте құрыңыз.

«Пәндер» кестесі

Пәннің коды

Пәннің аты

Оқытушы

«Магистранттер» кестесі

Сынақ кітапшасының №

Фамилия

Аты

«Бағалар» кестесі

№

Магистранттің фамилиясы

Пәннің аты

Баға

Қадам4. Қайтадан жаңа форма құрып, оны негізгі қылыңыз және оған Button компоненттерін орналастырыңыз.

SQL-сұранысының көмегімен кесте құру батырмасының OnClick оқиғасының өңдеуішіне келесі кодты жазыңыз:

form1.show; form2.Hide;

Батырмаларға сәйкес форма құрып, оларға да осындай код жазыңыз.

Тақырыпқа байланысты бақылау сұрақтары:

  1. Query компоненті қандай қызмет атқарады?

  2. Сұраныс дегеніміз не?

  3. SQL-сұранысы нені анқтайды?