Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Β«ΠΠ»ΠΈΠ½ΠΈΠΊΠ°Β»
ΠΠ»Π°Π²Π½Π°Ρ ΡΠ΅Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Ρ ΡΠ°Π½ΠΈΠΌΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ — Π΅Π΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΎΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ. ΠΡΠ° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ, ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Ρ ΡΠ°Π½ΠΈΠΌΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Β«ΠΠ»ΠΈΠ½ΠΈΠΊΠ°Β» (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ (Π‘Π£ΠΠ) — ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΊ Π½Π΅ΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΡΠΉ Π΄ΠΎΡΡΡΠΏ.
ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ (ΠΠ) — ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ, Ρ ΡΠ°Π½ΠΈΠΌΡΡ Π² Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ ΠΠΠ, Π²ΡΡΡΡΠΏΠ°ΡΡΠ°Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π·Π°Π΄Π°Ρ.
ΠΠ»Π°Π²Π½Π°Ρ ΡΠ΅Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Ρ ΡΠ°Π½ΠΈΠΌΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ — Π΅Π΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΎΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ. ΠΡΠ° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ, ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Ρ ΡΠ°Π½ΠΈΠΌΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ. ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ°ΠΌΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π»ΡΠ±ΠΎΠΉ ΡΠ°ΡΡΠΈ Ρ ΡΠ°Π½ΠΈΠΌΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ.
Π¦Π΅Π»Ρ ΠΊΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°: ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ «ΠΠ»ΠΈΠ½ΠΈΠΊΠ°».
ΠΠ°Π΄Π°ΡΠΈ:
1. Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΠΠ€;
2. Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΠ «ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΌΠ°ΡΡΠ΅ΠΉ» Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ IBExpert;
3. Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Lazarus.
1. ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π‘Π£ΠΠ «ΠΠ»ΠΈΠ½ΠΈΠΊΠ°» ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Lazarus. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΡΠ΅ΡΡΠ΅ΠΉ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅: Π€.Π.Π Π²ΡΠ°ΡΠ°, Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, Π€.Π.Π ΠΏΠ°ΡΠΈΠ΅Π½ΡΠ°, ΠΠ΅Π½Ρ Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ, ΠΠ΄ΡΠ΅Ρ, ΠΠ°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ, ΠΠΎΠΌΠ΅Ρ ΠΏΠΎΠ»ΠΈΡΠ°, ΠΠΈΠ°Π³Π½ΠΎΠ·, ΠΠ°ΡΠ° ΠΏΡΠΈΠ΅ΠΌΠ°, Π‘ΡΡΠ°Ρ ΠΎΠ²Π°Ρ ΠΊΠ°ΡΡΠ°, ΠΠ°ΡΠ° Π½Π°ΡΠ°Π»ΠΎ Π±ΠΎΠ»ΡΠ½ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΠ°ΡΠ° Π²ΡΠΏΠΈΡΠΊΠΈ.
ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°
2. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°
2.1 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ 3ΠΠ€
Π‘ΠΎΠ·Π΄Π°Π½Π½Π°Ρ 3ΠΠ€ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 1.
Π ΠΈΡΡΠ½ΠΎΠΊ 1 — 3ΠΠ€
2.2 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΡΠ°Π±Π»ΠΈΡΡ, Π½Π΅ ΠΈΠΌΠ΅ΡΡΠ΅ΠΉ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΠ°ΠΏΡΠΎΡΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π’Π°Π±Π»ΠΈΡΠ° № 1
create table vrah
(IDvrah numeric not null primary key,
FIOvrah varchar (200),
spec varchar (50));
ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ IDvrah ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ vrah ΠΏΠΎ Π΅Π΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΌΡ ΠΊΠ»ΡΡΡ IDvrah.
Π’Π°Π±Π»ΠΈΡΠ° № 2
create table pacient
(IDpacient numeric not null primary key,
FIOpacient varchar (200),
pegnom varchar (30),
adres varchar (50),
dt varchar (50),
nompol varchar (20));
ΠΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΡΠΈΠ³Π³Π΅ΡΡ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ. ΠΠ°ΠΏΡΠΎΡ Π½Π° ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π’ΡΠΈΠ³Π³Π΅Ρ ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅ № 1
create generator vrah_id_gen;
commit;
set term ^;
create trigger set_vrah_id for vrah
active before insert position 0 as
begin
if (new.IDvrah is null) then
new.IDvrah = gen_id (vrah_id_gen, 1);
end; ^
set term; ^
commit;
Π’ΡΠΈΠ³Π³Π΅Ρ ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅ № 2
create generator pacient_id_gen;
commit;
set term ^;
create trigger set_pacient_id for pacient
active before insert position 0 as
begin
if (new.IDpacient is null) then
new.IDpacient = gen_id (pacient_id_gen, 1);
end; ^
set term; ^
commit;
ΠΡΡΠ°Π²ΡΠΈΠ΅ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΡΡΠΈΠ³Π³Π΅ΡΡ Π΄Π΅Π»Π°ΡΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ 1 ΠΈ 2.
3. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ (Π€Π°ΠΉΠ» > Π‘ΠΎΠ·Π΄Π°ΡΡ…> ΠΈΠ· Π³ΡΡΠΏΠΏΡ «ΠΡΠΎΠ΅ΠΊΡ» Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ «ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅»). ΠΠΎΠ±Π°Π²ΠΈΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π°Π½Π½ΡΡ (Π€Π°ΠΉΠ» > Π‘ΠΎΠ·Π΄Π°ΡΡ…> ΠΈΠ· Π³ΡΡΠΏΠΏΡ «ΠΠΎΠ΄ΡΠ»Ρ» Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ «ΠΠΎΠ΄ΡΠ»Ρ Π΄Π°Π½Π½ΡΡ »).
3.1 ΠΠΎΠ΄ΡΠ»Ρ Π΄Π°Π½Π½ΡΡ
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² DataModule1 TIBConnection, TSQLTransaction ΠΈ ΡΠ΅ΡΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° TSQLQuery ΡΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ SQLdb. ΠΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ΅ΡΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° TDataSource ΡΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Data Access. (ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 2)
Π ΠΈΡΡΠ½ΠΎΠΊ 2 — Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²
ΠΠ°Π΄Π°Π΅ΠΌ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π΅ IBConnection1
DatabaseName | C:\BDBD.GDB | |
Transaction | SQLTransaction1 | |
LoginPrompt | False | |
Dialect | ||
CharSet | UTF-8 | |
UserName | SYSDBA | |
Password | masterkey | |
ΠΠ°Π΄Π°Π΅ΠΌ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π΅ SQLTransaction1
Database | IBConnection1 | |
DefaultAction | caCommit | |
Params | write read_committed rec_version nowait | |
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Connected Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ IBConnection1 Π True (ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 3).
Π ΠΈΡΡΠ½ΠΎΠΊ 3 — Π ΡΠ²ΠΎΠΉΡΡΠ²Π΅ Connected ΠΌΠ΅Π½ΡΠ΅ΠΌ Π²ΠΌΠ΅ΡΡΠΎ True Π½Π° False
Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π±Π΅ΡΠΏΡΠ΅ΠΏΡΡΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² True. Π Π‘Π»ΡΡΠ°Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΠ°ΡΠΎΠ»Ρ, ΠΏΡΡΡ ΠΊ Π±Π°Π·Π΅.
ΠΠ°Π΄Π°Π΅ΠΌ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π΅ SQLQuery1
Database | IBConnection1 | |
Transaction | SQLTransaction1 | |
SQL | select * from vrah | |
InsertSQL | insert into vrah (FIOvrah, spec) values (:FIOvrah:spec) | |
DeleteSQL | delete from vrah where IDvrah=:IDvrah | |
UpdateSQL | update vrah set IDvrah=:IDvrah, FIOvrah=:FIOvrah, spec=:spec where IDvrah=:OLD_IDvrah | |
ΠΠ°Π΄Π°Π΅ΠΌ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π΅ DataSource1
DataSet | SQLQuery1 | |
ΠΠ°Π΄Π°Π΅ΠΌ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π΅ SQLQuery2
Database | IBConnection1 | |
Transaction | SQLTransaction1 | |
DataSource | DataSource1 | |
SQL | select * from pacient | |
InsertSQL | insert into pacient (FIOpacient, pegnom, adres, dt, nompol) values (:FIOpacient:pegnom:adres:dt:nompol) | |
DeleteSQL | delete from pacient where IDpacient=:IDpacient | |
UpdateSQL | update pacient set IDpacient=:IDpacient, FIOpacient=:FIOpacient, pegnom=:pegnom, adres=:adres, dt=:dt, nompol=:nompol where IDpacient=:OLD_IDpacient | |
ΠΠ°Π΄Π°Π΅ΠΌ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π΅ DataSource1
DataSet | SQLQuery2 | |
ΠΡΡΠ°Π²ΡΠΈΠ΅ΡΡ SQLQuery ΠΈ DataSource Π΄Π΅Π»Π°ΡΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
3.2 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ
ΠΠ°Π΄Π°Π΅ΠΌ ΡΠΎΠ±ΡΡΠΈΠ΅ OnCreate Π² ΠΌΠΎΠ΄ΡΠ»Π΅ Π΄Π°Π½Π½ΡΡ DataModule1
procedure TDataModule1. DataModuleCreate (Sender: TObject);
begin
IBConnection1. Open;
end;
ΠΠ°Π΄Π°Π΅ΠΌ ΡΠΎΠ±ΡΡΠΈΠ΅ AfterConnect Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ IBConnection1
procedure TDataModule1. IBConnection1AfterConnect (Sender: TObject);
begin
SQLQuery1. Open;
SQLQuery2. Open;
SQLQuery3. Open;
SQLQuery4. Open;
SQLQuery5. Open;
SQLQuery6. Open;
end;
ΠΠ°Π΄Π°Π΅ΠΌ ΡΠΎΠ±ΡΡΠΈΠ΅ AfterOpen Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ SQLQuery1
Procedure TDataModule1. SQLQuery1AfterOpen (Sender:TDataSet);
Begin
SQLQuery2. Open;
End;
ΠΠ°Π΄Π°Π΅ΠΌ ΡΠΎΠ±ΡΡΠΈΠ΅ BeforeDisconnect Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ IBConnection1
procedure TDataModule1. IBConnection1BeforeDisconnect (Sender: TObject);
begin
SQLQuery1. Close;
SQLQuery2. Close;
SQLQuery3. Close;
SQLQuery4. Close;
SQLQuery5. Close;
SQLQuery6. Close;
end;
ΠΠ°Π΄Π°Π΅ΠΌ ΡΠΎΠ±ΡΡΠΈΠ΅ BeforeClose, ΠΎΠ±ΡΠ΅Π΅ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² SQLQuery1ΠΈ SQLQuery2
procedure TDataModule1. SQLQuery1BeforeClose (DataSet: TDataSet);
begin
if TSQLQuery (Dataset).State in [dsInsert, dsEdit]
then TSQLQuery (Dataset).Post;
end;
ΠΠ°Π΄Π°Π΅ΠΌ ΡΠΎΠ±ΡΡΠΈΠ΅ OnClose ΡΠΎΡΠΌΡ Π² Form1
procedure TForm1. FormClose (Sender: TObject; var CloseAction: TCloseAction);
begin
DataModule1.SQLTransaction1. Commit;
DataModule1.IBConnection1. Close;
end;
ΠΠ°Π΄Π°Π΅ΠΌ ΡΠΎΠ±ΡΡΠΈΠ΅ OnNewRecord Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° SQLQuery1
procedure TDataModule1. SQLQuery1NewRecord (DataSet: TDataSet);
begin
SQLQuery1. FieldByName ('IDvrah').AsInteger:=0;
end;
ΠΠ°Π΄Π°Π΅ΠΌ ΡΠΎΠ±ΡΡΠΈΠ΅ OnNewRecord Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° SQLQuery2
procedure TDataModule1. SQLQuery2NewRecord (DataSet: TDataSet);
begin
SQLQuery2. FieldByName ('IDpacient').AsInteger:=0;
end;
ΠΠ°Π΄Π°Π΅ΠΌ ΡΠΎΠ±ΡΡΠΈΠ΅ After Post Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ SQLQuery1
procedure TDataModule1. SQLQuery1AfterPost (DataSet: TDataSet);
begin
TSQLQuery (Dataset).ApplyUpdates;
end;
ΠΡΡΠ°Π²ΡΠΈΠ΅ΡΡ SQLQuery Π΄Π΅Π»Π°ΡΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
3.3 ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½Π° Form1
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Standard Π½Π° ΡΠΎΡΠΌΡ Π΄Π²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° TPanel. ΠΠΎΠ±Π°Π²ΠΈΠΌ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Data Controls Π½Π° TPanel ΡΠ΅ΡΡΡΠ΅ TDBGrid. ΠΠΎΠ±Π°Π²ΠΈΠΌ ΡΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Data Controls ΡΠ΅ΡΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° TDBNavigator (ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 4).
ΠΠ°Π΄Π°Π΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π΄Π»Ρ Panel1 ΠΈ Panel2
Align | alTop | |
Height | ||
ΠΠ°Π΄Π°Π΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π΄Π»Ρ DBNavigator1 ΠΈ DBNavigator2
DataSource | DataModule1. DataSource1 (DataModule1. DataSource2) | |
ΠΠ°Π΄Π°Π΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π΄Π»Ρ DBGrid1 ΠΈ DBGrid2
DataSource | DataModule1. DataSource1 (DataModule1. DataSource2) | |
ΠΡΡΠ°Π²ΡΠΈΠ΅ΡΡ DBNavigator ΠΈ DBGrid Π·Π°Π΄Π°ΡΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
Π ΠΈΡΡΠ½ΠΎΠΊ 4 — Π Π°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½Π° Form1
4. Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
Π ΠΈΡΡΠ½ΠΎΠΊ 5 — ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Lazarus
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ 5 ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ Π² Lazarus.
Π ΡΠ°Π±Π»ΠΈΡΡ ΠΡΠ°Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π€.Π.Π. Π²ΡΠ°ΡΠ° ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»Π΄ΠΈΠ·Π°ΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π‘ΠΈΠ΄ΠΎΡΠΎΠ² ΠΠ²Π°Π½ ΠΠ°ΡΠΈΠ»Π΅Π΅Π²ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π₯ΠΈΡΡΡΠ³. Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π·Π°ΠΏΠΈΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°ΡΡ Π½Π°
Π ΠΈΡΡΠ½ΠΎΠΊ 6 — Π’Π°Π±Π»ΠΈΡΠ° ΠΡΠ°ΡΠΈ
— Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠ°Π±Π»ΠΈΡΡ;
— ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΡ;
— ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΡ;
— Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ°Π±Π»ΠΈΡΡ;
— Π΄ΠΎΠ±Π°Π²ΠΈΡΡ;
— ΡΠ΄Π°Π»ΠΈΡΡ;
— ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ;
— ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ;
— ΠΎΡΠΌΠ΅Π½Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ;
— ΠΠ±Π½ΠΎΠ²ΠΈΡΡ.
Π ΡΠ°Π±Π»ΠΈΡΡ ΠΠ°ΡΠΈΠ΅Π½Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π€.Π.Π ΠΏΠ°ΡΠΈΠ΅Π½ΡΠ°, ΡΠ΅Π³. Π½ΠΎΠΌΠ΅Ρ, ΠΠ΄ΡΠ΅Ρ Π΄Π°ΡΡ ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΠΠΎΠΌΠ΅Ρ ΠΏΠΎΠ»ΠΈΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ²Π°Π½Π½ΠΎΠ² ΠΠ²Π°Π½ ΠΠ²Π°Π½ΠΎΠ²ΠΈΡ, 1, ΠΠΈΡΠΎΠ²Π° 10, 01.01.12, 2;
ΠΠ΅ΡΡΠΎΠ²Π° Π‘Π²Π΅ΡΠ»Π°Π½Π° ΠΡΠΎΠ²Π½Π°, 2, ΠΡΡΠΆΠ±Ρ 1, 15.11.99, 54;
Π ΠΈΡΡΠ½ΠΎΠΊ 7 — Π’Π°Π±Π»ΠΈΡΠ° ΠΠ°ΡΠΈΠ΅Π½ΡΡ
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Ρ ΠΎΠ΄Π΅ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° «ΠΠ»ΠΈΠ½ΠΈΠΊΠ°». ΠΡΠΏΠΎΠ»Π½Π΅Π½Ρ Π·Π°Π΄Π°ΡΠΈ: ΡΠΎΠ·Π΄Π°Π½ΠΎ 3ΠΠ€, ΡΠΎΠ·Π΄Π°Π½ΠΎ ΠΠ «ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΌΠ°ΡΡΠ΅ΠΉ» Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ IBExpert, ΡΠΎΠ·Π΄Π°Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Lazarus.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²
ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°
1. ΠΠ³Π°Π»ΡΡΠΎΠ², Π. Π ΠΠ°Π·Ρ Π΄Π°Π½Π½ΡΡ : [Π’Π΅ΠΊΡΡ] ΡΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅ / Π. Π ΠΠ³Π°Π»ΡΡΠΎΠ² — Π.: ΠΠΈΡ 2002. — 376 Ρ.
2. ΠΠ΅ΠΉΡ, Π.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π² ΡΠΈΡΡΠ΅ΠΌΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ [Π’Π΅ΠΊΡΡ]: ΡΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅ / Π. ΠΠ΅ΠΉΡ. — 8-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ — «ΠΠΈΠ»ΡΡΠΌΡ», 2006.