KeyFields — ma’lumotlarni izlashda qatnashadigan maydon
nomlarining ro‘yxati. Ular bir-biridan nuqta, vergul bilan ajratiladi.
KeyValues —bir yoki bir necha izlanadigan maydon qiymatlari.
Agar iz r izlanadigan qiymatlar bir necha bo‘lsa massiv varianti funksiyasi
qilib berish zamr.
Ma’lumotlami filtrlash
Ma’lumotlarni filtrlashning ikkita asosiy u iy usuli mavjud:
kr.~b■*!#'"iTi■
Tu
<* r V. 141
1 14j
T.Ih^h
|«W
KGtiliW
1
n«:oo
-T-
ftUrfMLi4M _______imM
1 »|^P * -1- ....7■
V
!r#»
t________________________________________________________________________________________________________________________________i
Filter xossasiga shartni kiritish uchun oldin Queryl komponentasi
belgilanadi va keyin obyekt inspektoridan Filter xossasi topilib, uning
qatoridan Kodx>139 sharti kiritiladi va keyin Filtered xossasi true
qiymatiga almashtiriladi.
254
9.7 So‘rovlar hosil qilish
Zamonaviy ma’lumotlarni boshqarish tizimlari kerakli ma’lu-
motlarni so‘rovlar yordamida tanlab olishga imkon beradi.
Foydalanuvchi ma’lum qoidalarga asosan so‘rov hosil qiladi, tizim
bolsa shu so‘rovga mos keluvchi yozuvlarni ajratib beradi.
Ma’lum talablarga javob beruvchi yozuvlami ajratib olish uchun
Query komponentasidan foydalaniladi.
Query komponentasi xossalari:
Xossa
Name
SQL
Active
Komponenta nomi. Datasource komponen-
tasi tomonidan so‘rov natijalarini, yozuvlami
ko‘rishga imkon bemvchi komponentalar,
misol uchun DBGrid bilan boglash uchun
ishlatiladi.
SQL tilida yozilgan so‘rov.
Xossaga True qiymati berilganda so‘rovni
bajarish aktivlashadi.
Umumiy holdajadvaldan yozuvlami tanlash uchun so‘rov quyidagi
ko‘rinishga ega boladi:
SELECT Maydonlar ro‘yxati FROM Jadval WHERE (Shart)
ORDER BY Maydonlar ro‘yxati.
Bu yerda ORDER BY —yozuvlami tartiblash parametri.
Misol u l uchun:
SELECT Fam, Name FROM ' :Maktab:school.db' WHERE
(Class = '10a') ORDER BY Name, Fam
Bu so‘rov «Maktab» ma’lumotlarbazasidan (School.dbjadvalidan)
10-a sinfi talabalari ro‘yxatini hosil qiladi.
Misol u l uchun:
SELECT Fam, Name FROM ' :Maktab:school.db' WHERE
(Fam > 'K ') and (Fam < 'L ') ORDER BY Name, Fam
Bu so‘rov familiyasi K harfidan boshlanuvchi talabalar ro‘yxatini
hosil qiladi.
So‘rov SQL xossasiga forma yaratish yoki dastur bajarilishi
jarayonida yozilishi m i mumkin.
Forma yaratish jarayonida SQL xossasiga yozuv yozish uchun
satrlar qatori muharriridan foydalaniladi. Bu muharrir Object I ct Inspector
oynasidagi SQL xossasi qatoridagi uch nuqtali tugmani bosish
natijasida ochiladi.
255
-
.j
SQL xossasi satrlar ro‘yxatidan iborat. Dastur bajarilishjarayonida
so‘rov hosil qilish uchun Add usulidan foydalanib, SQL ro‘yxatiga
qatorlarni qo‘shishi lozim.
Buning uchun awal joriy so‘rovni berkitish, satrlar ro‘yxatini
tozalash lozim:
QueryLClose;
Query1.SQL. Clear;
Delphi so‘rovni qayta ishlab, natijani jadval shaklida qaytarishi
uchun quyidagi usulni chaqiradi:
QueryLOpen;
Quyida konkret shaxs to‘g‘risida ma’lumotni qidirish uchun so‘rov
hosil qiluvchi dastur qismi berilgan. Qidiruv sharti Fam maydoni
qiymati fam o‘zgaruvchi qiymatiga teng bolishi kerak:
with formLQueryl do begin
Close; 3ai
TaT B tm ojiH eH H a npezibiziyuiero
3 an p o c a ;
SQ L.Clear; yziajiHT TeKCT npezibiziyuiero 3anpoca
3anHctiBaeM h o b b ih 3anpoc b c b o h c tb o SQL;
SQL.Add(' SELECT Fam, Name, Class );
SQL.Add(«FROM ' :IIlKOJia:school.db' ’);
SQL. Add(' WHERE');
SQL.Add('(Fam = " + fam + '" )');
SQL.Add(' ORDER BY Name, Fam');
Open; // aKTHBH3HpyeM BBinojiHeHHa 3anpoca
end;
Quyidagi dastur hamma o‘quvchilar yoki bir qismi haqidagi
ma’lumotlami so‘rovni bajarish orqali chiqarishga imkon beradi.
Ma’lumotlar bazasida so‘rov natijalarini ko‘rish uchun DBGridl
komponentasi ishlatilib, DataSourcel komponentasi orqali Tablel
yoki Query komponentasi bilan boglanadi.
Dastur formasi:
Dostları ilə paylaş: |