with form1.Queryl do begin
Close; Faylni yopish – avvalgi so`rov natijasi
SQL.Clear; avvalgi so`rovnoma natijasini o`chirish
SQL hususiyatiga yangi qiymatlarni yozish
SQL.Add('SELECT Fam, Ism, Sinf1);
SQL.Add('FROM ":Maktab:uquvchi.db"');
SQL.Add('WHERE');
SQL.Add('(Fam '" fam1 '")');
SQL.Add('ORDER BY Fam, Ism');
Open; so`rovnomani bajarish faollashtirildi
end;
17.2-listingda keltirilgan, dialog oynasi 17.19-rasmda ko`rsatilgan dastur tanlov kriteriyasini dastur ishlab turgan vaqtda qanday o`zgartirish mumkinligini namoyish qiladi. Dastur o`quvchilar ro`yxatini to`la yoki ma`lum bir qismini ekranga chiqarilishini ta`minlaydi. So`rovnoma bajarilganidan so`ng, aniq bir o`quvchi haqidagi ma`lumotlar chiqariladi.
So`rovnoma natijasini ko`rish uchun DBGrid1 komponentasidan foydalaniladi. U DataSourcel orqali Table1 (MB ni to`la ko`rish uchun) yoki Query (so`rovnoma natijasini ko`rish uchun) komponentalaridan biri bilan bog’langan bo`ladi.
17.19-rasm. O`quvchi Mb ilovasining formasi
17.2-listing. "O`quvchi" ma`lumotlar bazasi
unit uquvchi;
...
procedure TForm1.FormActivate(Sender: TObject);
begin
DataSource1.DataSet := Table1;
Table1.Active := True;
end;
// jadval to`laligicha tugmasi chertilganda
procedure TForm1.Button2Click(Sender: TObject);
begin
DataSource1.DataSet:=Table1; // ma`lumotlar manbai-jadval
end;
// so`rovnoma tugmasi chertilganda
procedure TForm1.Button1Click(Sender: TObject);
var
fam: string[30];
begin
fam:=InputBox('Ma`lumotlarni MB dan tanlash',
'Familiyani kursatib, OK tugmasini cherting.' , '');
if fam <> '' // foydalanuvchi familiyani kiritdi
then
begin
with form1.Query1 do begin
Close; // Faylni yopish-avvali so`rovnomani tugatish
SQL.Clear; // Avvalgi so`rovnomadagi matnni o`chirish
// SQL xususiyatiga yangi so`rovnoma jo`natiladi
SQL.Add('SELECT Fam, Ism, Sinf');
SQL.Add('FROM ":Maktab:uquvchi.db"');
SQL.Add('WHERE');
SQL.Add('(Fam = "'+ fam + '")');
SQL.Add('ORDER BY Fam, Ism');
Open; // sirovnomani bajarish rejimi faollashtirildi
end;
{ *** so`rovnomani almashtirishning boshqa varianti
begin
Query1.Close;
Query1.SQL[3]:='(Fam="'+ fam + '")';
Query1.Open;
DataSource1.DataSet:=Query1;
end;
}
if Query1.RecordCount <> 0 then
DataSource1.DataSet:=Query1 // so`rovnoma natijasini ko`rish
else begin
ShowMessage('MB da siz so`ragan ma`lumotlar yo`q.');
DataSource1.DataSet:=Table1; end;
end;
end;
end.
Do'stlaringiz bilan baham: |