Select * From Client.db
Шарт бойынша деректерді жинақтау үшін Where қызметші сөзінен кейін Паскаль тілінде шартты өрнекті көрсету керек. Өрнекте мына салыстыру таңбалары: <, > =, >=, <=, логикалық операциялар: Or, AND, NOT қолданылады. Жалпы жазылуы:
SELECT өрістер тізімі FROM кесте атауы WHERE шарт;
Мысалы: SELECT * FROM Client.db WHERE Cash>=120000 and Cash<=1000000
Структуралы сұраныстар тілі SQL
Мысалмен қарастырамыз: Client.db кестесінде сұраныс құру керек болсын.
-
DataAccess панелінен Form1 қалыбына Tquery компонентін орналастырамыз. Ол Ttable компонентінің онына қолданылады.
-
Қалыпқа TDBGrid, TdataSource компоненттерін орналастырамыз. Қасиеттері:
-
TdataSource:Dataset - Query1 мәнін береміз.
-
Query1 компоненті үшін DataBaseName - Firma1 болсын.
-
Объектілер инспекторы терезесінде SQL қасиетіндегі “…” батырмасын басамыз. Бұл жолда SQL тіліндегі команданы жазамыз. Мысалы:
А) SELECT ClientsName.Salary FROM Client.db – фамилия мен жалақысы туралы деректер алынсын деп OK батырмасын басамыз.
-
Query1 компонентінің Active қасиетін True дейміз.
Сұранымды қосымшада құру
Мысалмен қарастырамыз:
-
Жаңа қосымша құрамыз.
-
Қалыпта TDBGrid, Tquery, TdataSource компоненттерін орналастырамыз. Олардың қасиеттерін көрсетеміз. Client.db кестесін қолданайық.
-
Барлық сатып алушы клиенттер шығару керек болсын. Қалыпқа Tbutton компонентін орналастырып “Filter” деп атаймыз. Tedit өрісіне сатып алушы фамилиясын енгізгенде осы клиент үшін барлық деректі торкөз түрінде шығаруы керек болсын. Tquery компонентінің Append қасиетін қолданамыз.
-
“ Filter” компонентін басу оқиғасына программалық код жазамыз:
Begin
If Edit1.Tet<>’ ‘ then Begin
Query1.Active:=False;
Query1.SQL.Clear;
Query1.SQL.Append(‘select client.db where Name.Like’+’ ’+ Edit1.Text+’ ’);
Query1.Active:=True;
End;
Else Begin
Query1.Active:=False;
Query1.SQL.Clear;
Query1.SQL.Append(‘select * from client.db);
Query1.Active:=True; End; End;
-
Қосымшаны орындауға жіберіп фамилияны енгізген соң “Filter” батырмасын басамыз.
! Ескерту. Фамилияны жартылай жазуға болады.
! Ескерту. Жаңа сұраным құру үшін Edit1 өрісін тазалап қайтадан “Filter” батырмасын басу керек. Сонда барлық өрістер шығады.
Тапсырмалар:
1. Деректер базасы бір бірімен байланысатын екі немесе одан көп кестелерден тұрсын. Бірнеше кестелер арасында байланыс орнату. Схемасын көрсету.
-
Деректер базасы бойынша сұраныстардың түрлерін құрып көрсету:
- қарапайым сұраныс құру.
- сұранысты компоненттер көмегімен құру.
- сұраныс құрудың программалық кодын қолдану.
- барлық деректерді қолданып толық нәтижелі сұраныс құру.
№6- зертханалық жұмыс.
“Кестеде іздеу”(2 сағ.).
Үлкен кестелерден белгілі бір жазуларды таңдау қажет болса оларды алдымен іздеп тауып алған дұрыс. Іздеу операциясы мына әдіспен орындалады:
Function.Locate(const KeyFields: string; const KeyValues: Variant; Options: TlocateOptions) : boolean;
Бұл әдісте параметрлер ретінде өрістер атауралы алынады.
Мысал қарастырайық. Client.db кестесінде іздеу операциясын қолдану керек болсын.
-
Form1 қалыбында тақырыптары «адам есімі бойынша іздеу», «телефон номері бойынша іздеу», «Адрес бойынша іздеу» болатын үш TradioButton компоненттерін, «Іздеу шарты» деп аталатын Tlabel компонентін, деректерді енгізуге арналған Tedit компонентін, «Іздеу» деп аталатын Tbutton компонентін орналастырамыз.
-
Locate әдісін қолданамыз. Келесі ретпен жазамыз:
-
кілттік өріс
-
іздеуге жататын дерек қайдан алынады
-
іздеу параметрлері:
а) LoCaseInsensitive – бас әріптер есепке алынбайды
б) LoPartialKey – дербес кілт
-
«Іздеу» компонентіне программалық код жазамыз:
Var
KeyField:string;
Begin
If RadioButton1.Checked=treu then Begin
KeyField:= ‘ClientName’;
End;
If RadioButton2.Checked=True then begin
KeyField:=’Phone’;
End;
If RadioButton3.Checked=True then begin
KeyField:=’Adress’;
End;
Table1.Locate(KeyField.Edit1.Text, [LoCaseInsensitive.LoPartialKey]);
End;
Тапсырма:
-
Деректер базасында белгілі бір шарттарды қанағаттандыратын өрістер жазуларын іздеу операцияларын көрсету:
- біртіндеп іздеу
- бинарлы іздеу программалық кодтарын құру.
№7- зертханалық жұмыс.
“Есеп құру”(3 сағ.).
Есеп – мәліметтер қорындағы жазулардан құжат түрінде аяқталған нәтиже береді. Ол нәтижені бірден принтерге жіберуге болады. Qreport (Есеп) панелінен TquickRep 3.0.5. компонентін құру осы проблеманы шешеді. Qreport панелінің басқа да компоненттері есептің қажетті элементтерін көрсетуге көмектеседі. Әр компоненттің Band деп аталатын жолағы болады. Есепте келесі негізгі компоненттер қолданылады:
Есеп жолағы компоненті TQRBand: Есепте белгілі бір элементтерді орналастыру, топтау бейнелеуін көрсетеді. TquickRep бейнелеуді көрнекі түрде орындайды.
Есеп тақырыбы компоненті TQRLabel: Tlabel компонентіне ұқсас. Есепте қажетінше мәтін жазуға көмектеседі.
Шығару өрісі компоненті TQRDBText: Деректер жиынынан өріс мәндерін шығару үшін қолданылады. Деректер жиыны DataSet қасиетінде көрсетіледі. Ал қажетті белгілі бір өріс DataField қасиетімен көрсетіледі. Компонент орналасқан жолақ мәні BandType - rbDetail болуы керек. BandType қасиетінің одан басқа да мәндері бар:
RbTitle – есеп тақырыбы
RbPageHeader – жоғарғы колонтитул
RbDetail – жазу тақырыбы
RbPageFooter – төменгі колонтитул
RbSummary – есеп қортындысы
RbColumnHeader – баған тақырыбы
RbGroupFooter – бөлім тақырыбы
RbGroupHeader –бөлім қортындысы
Алдын ала қарау компоненті TQRPreview: Құрылған есепті баспаға шығармай тұрып алдын ала қарауға көмектеседі. Ол .шін OnPreview оқиғасына Preview әдісін шақырады. Есеп құруға мысал келтірейік: “Тауарлар”, “Клиенттер”, “Тапсырысдар” кестелерін қолданамыз. Ол үшін жаңа қалып құрамыз. Себебі әр есеп әр терезеде құрылады.
-
File – New Form командасын орындаймыз. Unit1 және Unit2 модульдерін байланыстырамыз.
-
Qreport панелінен Form2 қалыбына QuickRep – жылдам есеп компонентін орналастырамыз. QuickRep1 қасиетін көрсетеміз.
-
DataSet - Table1 деп қолданылатын кестені көрсетеміз.
-
Bands қасиетінде “+” батырмасын басамыз:
А) HasTitle - есеп тақырыбына берілетін облыс. Тақырыпты Qreport панеліндегі QRLabel1 компонентінің көмегімен жазамыз.
Б) HasColumnHeader – есепте көрінетін өрістер атауларына берілетін облыс.
В) HasDetail – кестелерден алынатын деректерге бөлінетін облыс (детализация облысы деп аталады). Оны көрнекілеу үшін QRShape1 компонентін қолданады.
-
Кестеден деректерді шақыру QRDBText компонентінің көмегімен орындалады. Оның екі қасиетін көрсетеміз:
А) DataSet - Table1 деп.
Б) DataField - Name, Price, т.б. деп өріс атауларын көрсетеміз.
-
Құрыған есепті көру үшін контекстік мәзірден Preview командасын орындаймыз. Пайда болған терезеде PrintPreview батырмасын басамыз
-
Есеп облыстарының келесі қасиеттері бар:
-
HasPageFooter – төменгі колонтитул
-
HasPageHeader – жоғарғы колонтитул, қосымша QRLabel1, QRLabel2 компоненттерін қолданып, “Фирма1” дейміз
-
Есептің жалпы қасиеттері:
-
Options - “+”
-
FirstPageHeader – бірінші бетте жоғарғы колонтитул бар ма, көрсету (True немесе False).
-
LastPageFooter - соңғы бетте төменгі колонтитул бар ма, көрсету (True немесе False)
-
HasSummary – қортынды жасау облысы True дейміз. QRLabel1, QrLabel2 компоненттерін орналастырып «Сатып алушы клиенттер саны» т.б. деп жазамыз
-
Form1 қалыбында “Қарау” батырмасын орналастырып, оны басқанда есеп құратын программалық кодта Preview әдісін жазамыз:
Begin
If Radiogroup1.ItemIndex=0 then Begin
Form2.QRLabel14.Caption:=DatetoSte(Date);
Form2.QRLabel16.Caption:=TimetoSte(Time);
Form2.QRLabel20.Caption:=IntToSte(Table1.RecordCount);
Form2.QuickRep1.Preview;
End;
Тапсырмалар:
-
Деректер базасы бойынша белгілі бір есеп құру.
-
Form1 қалыбында “принтерге шығару” деген атаумен Button2 батырмасын орналастырып, оны басқанда есепті принтерге шығаратын программалық кодты өз беттеріңізбен жазыңыздар. Print әдісі қолданылады.
Жалпы есеп құру
Мысалмен қарастырайық: Байланыстырылған «Тауарлар», «Клиенттер», «Тапсырысдар» кестелерін қолданамыз.
-
Жаңа қалып құрамыз.
-
Qreport панелінен қалыпқа QRSubDetail1 компонетін орналастырамыз. Бұл қосымша деректерді детализациялау үшін бөлінетін облысты көрсету үшін қажет. Қасиеттерін қөрсетеміз:
-
DataSet – LinkedTable дейміз
-
QRSubDetail1 облысында DBText12, 13, …, Label12, 13, … т.б. компоненттерді орналастырамыз. Атауларын береміз.
-
Барлық DBText12, 13, … компоненттерінің DataSet, DataField қасиеттерін анықтаймыз.
-
Есепті көру ұшін контекстік мәзірді шығарып Preview командасын орындаймыз да, шыққан терезеде PrintPreview командасын орындаймыз.
Тапсырмалар:
Деректер базасының шектеулі атрибуттарын қолданып есеп құру.
Деректер базасын қолданып есепті құрудың әдістерін көрсету.
Есеп жолағы компонентін қолданып есеп құру.
Есеп тақырыбы компонентін қолданып есеп құру.
Алдын ала қарау компонентін қолданып есеп құру.
3. СТУДЕНТТЕРДІҢ ӨЗДІК ЖҰМЫСЫ
3.1. сӨж Тапсырмалары
-
Unit1.pas редактор коды терезесі
-
Компаненттер қосымшасы
-
Standard қосымшасы
-
Additional қосымшасы
-
Win32 қосымшасы
-
Dialogs қосымшасы
-
Диалогтық функциялар мен процедуралар
-
Файлдық жүйедегі жұмыс үшін
-
Нақты сандармен жұмыс үшін
-
Айналдыру функциялары мен процедуралары
-
Реттік мәндермен жұмыс үшін
-
Статистикалық функциялар мен процедуралар
-
Char жолымен жұмыс істеу функциялары
-
Тригонометриялық функциялар мен процедуралар
СӨЖ-ні жүргізу түрі: Тақырыптар бойынша сұрақтарға ауызша және жазбаша жауаптар берілуі керек.
3.2. СОӨЖ тапсырмалары:
Дельфи қосымшасын қолданып 1- таблицада келтірілген деректер базаларының тақырыптары бойынша өрістерді өздеріңіз анықтап деректер базасын құру.Атрибуттар атауларын және қасиеттерін өздеріңіз анықтаңыз. Оны кемінде 10-15 жазумен толтырыңыз.
Деректер базасының әр атрибутына сәйкес қалыпқа компонент орналастырып, олардың қасиетін анықтаңыз. ТАБЛИЦА №1
Вариант
№
|
Деректер базаларының тақырыптары
|
1
|
Мектепте жоғарғы сыныптағы оқушылар және олардың оқу үлгерімі туралы
|
2
|
Мектептегі қызметкерлер структурасы туралы
|
3
|
Мектепте төменгі сыныптағы оқушылар және олардың оқу үлгерімі туралы
|
4
|
«Трансаэро» компаниясының қызметі туралы
|
5
|
«Темір жол» кестесі туралы
|
6
|
Кітапханадағы әдебиеттер құрылымы туралы
|
7
|
Кітапханадағы қызметкерлер туралы
|
8
|
Студенттердің ГТО нормасы туралы
|
9
|
Қазақстанның футбол командалары және олардың көрсеткіштері туралы
|
10
|
Қазақстанның хоккей командасының ойындары мен ойыншылары туралы
|
11
|
Бала бақша қызметі туралы
|
12
|
«Орифлейм» косметикамен айналысу фирмасының қызметі туралы
|
13
|
Университеттің профессорлық-оқытушылық құрамы туралы
|
14
|
Университеттің администраторлық қызметі туралы
|
15
|
Әуе жолы кестесі туралы
|
16
|
Жоғарғы оқу орындарын тәмәмдаушыларды тарату жұмыстары бойынша
|
17
|
Студенттердің стипендия алу структурасы бойынша
|
18
|
Сынақ - Емтихан тапсыру ведомосы туралы
|
19
|
Спорттың бір түрі бойынша жарыс қортындысы туралы
|
20
|
Университеттің күндізгі оқу бөлімі бойынша студенттік құрамы туралы
|
21
|
Сиднейде өткен олимпиада қортындысы туралы
|
22
|
Кітап сатумен айналысатын фирмалар туралы ақпарат туралы
|
23
|
Бір мекеменің кадрлар бөлімінің жұмыс структурасы туралы
|
СОӨЖ-ні жүргізу түрі: Осы тапсырмаларды зертханалық сабақтардың тақырыптары бойынша орындау керек.
Достарыңызбен бөлісу: |