Delphi tilida



Yüklə 3,41 Mb.
səhifə123/133
tarix07.01.2024
ölçüsü3,41 Mb.
#210126
1   ...   119   120   121   122   123   124   125   126   ...   133
sodapdf-converted (1)

Dastur matni: 
Unit school2_ 
interface 
uses 
Windows, Messages, SysUtils, Classes, 
Graphics, Controls, Forms, 
Dialogs,Orids, DBGrids, Db, 
DBTables, ExtCtrls, DBCtrls, StdCtrls; 
Type 
TForml = class(TForm) 
Tablel: TTable; / / T a6jiH ua ( bch 6 a3 a jiaHHbix) 
Queryl: TQuery; / / 3anpoc (3anncH B/l, y/ioB jieTB opaiom H e 
KpHTepHIO B bioopa) 
DataSourcel: TDataSource; / / h c to m h h k jiaH H b ix — T a6jin u a 
h jih 3anpoc 
DBGridl: TDBGrid; / / T a6j in u a juin 0T06p a * e H H a B/1 h jih 
pe3yjibTaTa BbinojiHeHHH 
DBNavigatorl: TDBNavigator 
DBTextl: TDBText 
Buttonl: TButton; / / KHonKa 3anpoc 
Button2: TButton; / / KHonKa Bce 3anncn 
procedure ButtonlClick(Sender: TObject); 
procedure Button2Click(Sender: TObject); 
procedure FormActivate(Sender: TObject); 

257 

private 
{ Private declarations } 
public 
{ Public declarations } 
end; 
Var 
Forml: TForml; 
implementation 
{$R *.DFM} 
/ / mejiMOKHa KHonKe 3anpoc 
procedure TForml.ButtonlClick(Sender: TObject); 
Var 
fam: string[30]; 
begin 
fam:=InputBox('BM6opKa nHtJjopiwaunn H3 B/l' 
yKajKHTe (JjaMHjiHK) h mejiKHHTe Ha OK') 
if fam <> S " / / nojn>30BaTejii> BBen (JiaMHJiHio 
then 
begin 
w ith form l. Q ueryl do begin 
Close; / / 3aKpBiT (Jtaitri-pesyjiBTaT BBinojiBHeHHa npezibiziymero 

3anpoca 

SQ L.Clear; / / yn,ajiHT TeKCT npeziHziymero 3anpoca 
/ / 3anncBiBaeM hobbih 3anpoc c cbohctbo SQL 
SQ L.A dd(' SELEC T Fam , N am e, C lass'); 
SQ L .A dd('F R O M ' :IIlKOJia:school.db''') ; 
SQL.A dd('W H E R E '); 
SQ L .A dd('(F am = " + fam + '")');
SQ L.A dd(«O R D ER BY N am e, F am '); 
O pen; / / aKTHBH3HpyeM BBinojiHeHHe 3anpoca 
end; 
{ *** zipyroii BapnaHT H3\ieHeHHfi KpHTepna 3anpoca 
begin 
Q ueryLClose; 
Q u ery l.S Q L [3 ]:= '(F am = '''+ fam + " ')';
Q ueryLO pen; 
D ataS ourcel.D ataS et:= Q ueryl; 
end; 

if Q ueryL R ecordC ount < > 0 then 

258 

DataSourcel.DataSet:=Queryl // 0T06pa3HTpe3-T BtmojiHeHHa
3anpoca 
else begin 
ShowMessaoe(' B HeT3annceH, yn,OBJieTBopaioiiiHXKpHTepnio 
3anpoca.'); 
DataSourcel .DataSet:=Tablel; 
end; 
end; 
end; 
// mejiMOK Ha KHonKe Bce 3anncH 
procedure TForml.Button2Click(Sender: TObject); 
begin 
DataSourcel.DataSet:=Tablel; // hctom h hk ziaHHbix —TaSjinna
end; 
/ / aKTHBH3aHHfI (JlOpMBI 
procedure TForml.FormActivate(Sender: TObject);
begin 
DataSourcel.DataSet := Tablel; 
Tablel.Active := True; 
end; 
end. 
TFormLButtonlClick protsedurasi so‘rov tugmasi bosilganda 
bajariladi. U foydalanuvchidan qator (familiya) qabul qilib, SQL 
xossasiga yozish orqali so‘rov matnini hosil qiladi. S‘ongra bu 
protsedura Open usulini chaqirish bilan so‘rovni bajarilishini 
aktivlashtiradi. 
TForml.Button2Click protsedurasi hamma yozuvlar tugmasini 
bosish orqali chaqirilib, DataSourcel komponentasini Tablel 
komponentasibilan boglaydi vabutun bazani ko‘rish rejimiga o‘tishni
ta’minlaydi. 
Agar so‘rov SQL xossasiga formani yaratish jarayonida yozilgan 
bo‘lsa. dastur bajarilish jarayonida so‘rov shartini so‘rov matniga 
mos 5 qatorini almashtirish yo‘li bilan o‘zgartirish mumkin. 
Masalan: 

259 


Shuni e’tiborga olish lozimki, SQL xossasi TStrings tipidagi 
tuzilma bolib. qatorlar nomerlari noldan boshlanadi. 




Yüklə 3,41 Mb.

Dostları ilə paylaş:
1   ...   119   120   121   122   123   124   125   126   ...   133




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin