Sql surovlar hosil qilish



Download 61,45 Kb.
Sana25.03.2022
Hajmi61,45 Kb.
#508629
Bog'liq
17.02.2022 SQL Surovlar hosil qilish


SQL Surovlar hosil qilish
Zamonaviy ma’lumotlarni boshqarish tizimlari kerakli ma’lumot-larni so‘rovlar yordamida tanlab orlishga imkon beradi. Foydalanuvchi ma’lum qoidalarga asosan so‘rov hosil qiladi, tizim bo‘lsa shu so‘rovga mos keluvchi yozuvlarni ajratib beradi.
Ma’lum talablarga javob beruvchi yozuvlarni ajratib olish uchun Query komponentasidan foydalaniladi.
Query komponentasi xossalari:

Xossa

Ta’rifi

Name
SQL
Active

Komponenta nomi. Datasource komponentasi tomonidan so‘rov natijalarini, yozuvlarni ko‘rishga imkon beruvchi komponentalar, misol uchun DBGrid Bilan bog‘lash uchun ishlatiladi.
SQL tilida yozilgan so‘rov.
Xossaga True kiymati berilganda so‘rovni bajarish aktivlashadi

Umumiy holda jadvaldan yozuvlarni tanlash uchun so‘rov quyidagi ko‘rinishga ega bo‘ladi:
SELECT Maydonlar ruyxati FROM Jadval WHERE (SHart) ORDER BY MaydonlarRuyxati
Bu erda ORDER BY – yozuvlarni tartiblash parametri.
Misol uchun:
SELECT Fam, Name FROM ':Maktab:school.db' WHERE
(Class = '10a') ORDER BY Name, Fam
Bu surov "Maktab" ma’lumotlar bazasidan(School.db jadvalidan) 10-a sinfi talabalari ro‘yxatini hosil qiladi.
Misol 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.
Surov SQL xossasiga forma yaratish yoki dastur bajarilishi jarayonida yozilishi mumkin.
Forma yaratish jarayonida SQL xossasiga yozuv yozish uchun satrlar katori muxarriridan foydalaniladi. Bu muxarrir Object Inspector oynasidagi SQL xossasi katoridagi uch nuktali tugmani bosish natijasida ochiladi.

SQL xossasi satrlar ro‘yxatidan iborat. Dastur bajarilish jarayonida so‘rov hosil qilish uchun Add usulidan foydalanib, SQL ro‘yxatiga qatorlarni qo‘shish lozim..
Buning uchun avval joriy surovni berkitish, satrlar ruyxatini tozalash lozim:
Query1.Close;
Query1.SQL.Clear;
Delphi so‘rovni qayta ishlab, natijani jadval shaklida qaytarishi uchun quyidagi usulni chaqiradi:
Query1.Open;
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 bo‘lishi kerak:
with forml.Queryl do begin
Close;

SQL.Clear;

SQL.Add('SELECT Fam, Name, Class1);
SQL.Add('FROM ":SHkola:school.db"');
SQL.Add('WHERE');
SQL.Add('(Fam = '" + fam + '")');
SQL.Add('ORDER BY Name, Fam');
Open;
end;
Quyidagi dastur hamma o‘quvchilar yoki bir qismi haqidagi ma’lumotlarni so‘rovni bajarish orqali chiqarishga imkon beradi.
Ma’lumotlar bazasida so‘rov natijalarini ko‘rish uchun DBGrid1 komponentasi ishlatilib, DataSourcel komponentasi orqali Table1 yoki Query komponentasi bilan bog‘lanadi.
Dastur formasi:

Dastur matni
unit school2_;
interface
uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms,
Dialogs,Grids, DBGrids, Db,
DBTables, ExtCtrls, DBCtrls, StdCtrls;
type
TForm1 = class(TForm)
Table1: TTable;
Query1: TQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
DBText1: TDBText;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);


var
fam: string[30];
begin
fam:=InputBox('Axborot BD', 'familiyani yozing.', '');
if fam <> ''
then
begin
with form1.Query1 do begin
Close;
SQL.Clear;
SQL.Add('SELECT Fam, Name, Class');
SQL.Add('FROM ":SHkola:school.db"');
SQL.Add('WHERE');
SQL.Add('(Fam = "'+ fam + '")');
SQL.Add('ORDER BY Name, Fam');
Open;
end;

begin
Query1.Close;


Query1.SQL[3]:='(Fam="'+ fam + '")';
Query1.Open;
DataSource1.DataSet:=Query1;
end;
}
if Query1.RecordCount <> 0 then
DataSource1.DataSet:=Query1
else begin
ShowMessage('V BD net zapisey, udovletvoryayuщix kriteriyu zaprosa.');
DataSource1.DataSet:=Table1;
end;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);


begin
DataSource1.DataSet:=Table1;
end;

procedure TForm1.FormActivate(Sender: TObject);


begin
DataSource1.DataSet := Table1;
Table1.Active := True;
end;
end.
TForm1.Button1Click protsedurasi So‘rov tugmasi bosilganda bajariladi. U foydalanuvchidan qator (familiya) qabul qilib, SQL xossasiga yozish orqali so‘rov matnini hosil qiladi. Sungra bu protsedura Open usulini chaqirish bilan surovni bajarilishini aktivlashtiradi.
TForm1.Button2Click protsedurasi hamma yozuvlar tugmasini bosish orqali chaqirilib, DataSourcel komponentasini Table1 komponentasi bilan bog‘laydi va butun bazani ko‘rish rejimiga o‘tishni ta’minlaydi.
Agar surov SQL xossasiga formani yaratish jarayonida yozilgan bo‘lsa, dastur bajarilish jarayonida so‘rov shartini so‘rov matni mos 5 katorini almashtirish yo‘li bilan o‘zgartirish mumkin.
Masalan
SELECT DISTINCT Fam, Name, Class FROM ":SHkola:school.db" WHERE
(Class= '10a') ORDER BY Name, Fam
so‘rov matnini o‘zgartiruvchi instruksiya quyidagi ko‘rinishga ega bo‘lishi mumkin:
forml.Query1.SQL[3]:='(Fam="' + fam+ '")'
SHuni e’tiborga olish lozimki SQL xossasi TStrings tipidagi struktura bo‘lib, katorlar nomerlari noldan boshlanadi.
Download 61,45 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish