Π ΠΈΡ. 2.5. ΠΡΠ·ΠΎΠ² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° TIBTransaction
Π ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π½ΡΠΆΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ, Π° Π·Π°ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΠ°Π·Ρ, ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°ΠΌΠΈ ΠΎΠ½ Π·Π°Π΄Π°Π΅ΡΡΡ (ΡΠΈΡ. 2.6.).
Π ΠΈΡ 2.6. Π Π΅Π΄Π°ΠΊΡΠΎΡ TIBTransaction
ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΠ»ΡΡΠ°Π΅Π² ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΆΠΈΠΌ Read Committed, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ°ΠΌ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ "Π²ΠΈΠ΄Π΅ΡΡ" ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π½ΡΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ.
TIBTransaction ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° DetaultDatabase. ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ DefaultTransaction Ρ TIBDatabase, ΡΠΎ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π»ΡΠ±ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ (TIBDataSet, TffiSQL ΠΈ Ρ. Π΄.), ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° TIBDatabase, Π±ΡΠ΄ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ "ΠΏΠΎΠ΄Ρ Π²Π°ΡΡΠ²Π°ΡΡ" ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π° AllowAutoStart ΠΈ AutoStopAction. ΠΠ°ΠΊ Π²Π°ΠΌ ΡΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, Π»ΡΠ±ΠΎΠΉ Π·Π°ΠΏΡΠΎΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. Π’ΠΎ Π΅ΡΡΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡ Π²ΠΈΠ΄Π° SELECT * FROM TABLE 1, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΡΠ·ΠΎΠ²Π° IBTransaction.StartTransaction.
Π’Π°ΠΊΠΎΠΉ "ΡΡΡΠ½ΠΎΠΉ" Π²ΡΠ·ΠΎΠ² Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ΄ΠΎΠ±Π΅Π½. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ: Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ, ΡΠΎ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ. Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π»ΠΈΡΠ½Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° AllowAutoStart ΡΠ°Π²Π½ΡΠΌ True. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠΊΡΡΡΡ TIBDataSet, ΡΠΎ ΠΎΠ½ ΡΠ°ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΡΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΡΠΌΡΡΠ» ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ AutoStop Action. ΠΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΊΡΡΠ²Π°Π΅ΠΌ Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ²ΡΠΈΠ΅ΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΡΠΎ TIBTransaction Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² AutoStopAction. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ Π²ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° Commit, Π΅ΡΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ AutoStopAction ΡΠ°Π²Π½ΠΎ saCommit. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ!
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ TIBDataSet
Π Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ ΡΠΎΠ·Π½Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Ρ TIBTable ΠΈΠ»ΠΈ TIBQuery, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π°Π²ΡΠΎΡΡ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π΅ ΡΡΠΈΡΠ°ΡΡ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠΌ. ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠ΅ ΠΆΠ΅ ΠΆΠ΅Π»Π°Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ BDE), ΡΠΎ Π΄Π»Ρ ΠΈΠ·>ΡΠ΅- Π½ΠΈΡ ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ BDE-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ IBX.
ΠΡΠ°ΠΊ, ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΡΠΎΡΠΌΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ:
IBDataSetl: TIBDataSet;
DataSourcel: TdataSource
DBGridl: TDBGrid
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Database ΠΈ Transaction Ρ IBDataSetl, Π·Π°Π΄Π°ΡΡ DataSourcel.DataSet ΡΠ°Π²Π½ΡΠΌ IBDataSetl, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ°Π·Π°ΡΡ DBGridl.DataSource ΡΠ°Π²Π½ΡΠΌ DataSourcel.
Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΡ Π·Π°ΠΏΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ, Π² ΡΠ²ΠΎΠΉΡΡΠ²Π΅ SelectSQL Ρ IBDataSetl (ΡΠΈΡ. 2.7).
Π ΠΈΡ 2.7. Π Π΅Π΄Π°ΠΊΡΠΎΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° SelectSQL
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠΊΡΡΡΡ Π·Π°ΠΏΡΠΎΡ ΠΏΡΡΠΌΠΎ Π² design-time, Π·Π°Π΄Π°Π² ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Active Π² True. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π°ΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° ΡΠΈΡ. 2.8.
Π ΠΈΡ 2.8. ΠΡΠΊΡΡΡΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ° Π² IBDataSet1
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ OnFormCreate Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΎΡΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ'
procedure TForml.FormCreate(Sender: TObject);
begin
IBDatabasel.Open;
IBDataSetl.Open;
end;
He Π·Π°Π±ΡΠ΄ΡΡΠ΅ Π·Π°ΠΊΡΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΈΠ½Π°ΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΠ° IBDatabase I .Open Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΈΠ½Π°ΡΠ΅: IBDatabasel Connected := True; IBDataSetl.Active := True. ΠΠ½ Π½Π΅ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Π΅ΡΠ»ΠΈ IBDatabasel ΠΈ IBDataSetl Π±ΡΠ»ΠΈ Π°ΠΊΡΠΈΠ²Π½Ρ Π² design-time.
Π Π΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²
ΠΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅, ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½Ρ Π·Π°ΠΏΠΈΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅, ΡΠΎ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΡΠΈΡΠΈΠ½Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡΠ΅Π²ΠΈΠ΄Π½Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ IBDataSetl ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ SelectSQL. ΠΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π°ΠΏΡΠΎΡ Π½Π° Π²ΡΠ±ΠΎΡΠΊΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ EMPLOYEE Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ Π² WHERE.
Π Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊΡΡ-Π»ΠΈΠ±ΠΎ Π·Π°ΠΏΠΈΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ UPDATE. Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ Π½Π°ΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° Π² SelectSQL.
ΠΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ TIBDataSet Π±ΡΠ» ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ, ΡΠΎ ΠΎΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°ΠΌ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΡΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ SelectSQL. Π§ΡΠΎΠ±Ρ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ Π·Π°ΠΏΡΡΠ°ΡΡΡΡ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ.
ΠΡΠ°ΠΊ, ΠΌΡ ΠΎΡΠΊΡΡΠ»ΠΈ Π·Π°ΠΏΡΠΎΡ Π² SelectSQL. ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΡΠΈΡΡΠ½ΠΊΠ°, ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠΌΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° Robert. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ ΠΈΠΌΡ Π½Π° John.
Π ΠΌΠΎΠΌΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅: Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ Π±ΡΡΠ΅ΡΠ΅ IBDataSetl Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π·Π°ΠΏΠΈΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ FIRST_NAME Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Ρ Robert Π½Π° John. Π Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ° Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΎΡΡΠ°ΠΆΠ°Π΅ΡΡΡ. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡ Ρ UPDATE. ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ ΡΠΊΠ°Π·Π°ΡΡ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° IBDataSetl Π² ΡΠ²ΠΎΠΉΡΡΠ²Π΅ ModifySQL:
UPDATE EMPLOYEE
SET
EMP_NO = :EMP_NO,
FIRST_NAME = :FIRST_NAME,
LAST_NAME = :LAST_NAME,
PHONE_EXT = :PHONE_EXT,
HIRE_DATE = :HIRE_DATE,
DEPT__NO = :DEPT_NO,
JOB_CODE = :JOB_CODE,
JOB_GRADE = :JOB_GRADE,
JOB_COUNTRY = :JOB_COUNTRY,
SALARY = :SALARY WHERE
EMP_NO = :OLD_EMP_NO
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ°, Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΡΡΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΡΠΊΠ°Π·Π°Π½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ, Ρ jtBDataSetl ΡΠ°ΠΌ Π·Π°Π΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π²Π·ΡΠ² ΠΈΡ ΠΈΠ· ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ |ΠΏΠΎΠ»Π΅ΠΉ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° :FIRST_NAME Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ John. ΠΠ°ΠΏΡΠΎΡ ΡΠ· ModifySQL Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ, ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, ΠΎΠΊΠ°ΠΆΡΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ .
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΡΠ²ΡΠ·Π°Π½Π° Ρ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ HnsertSQL ΠΈ DeleteSQL - ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΈ Π²ΡΡΠ°Π²ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ΅ΡΠΈΠΊΡ OLD_ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° :OLD_EMP_NO. ΠΠ°Π½Π½ΡΠΉ ΠΏΡΠ΅ΡΠΈΠΊΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ IBDataSet Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ Π΄ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΡΠ°ΠΊ, Π΅ΡΠ»ΠΈ ΠΌΡ ΡΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌ Π²ΡΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΡΡΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ, ΡΠΎ Π½Π°Ρ IBDataSet ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, Ρ. Π΅. ΠΌΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π·Π°ΠΏΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π½Π° Delphi/C-H-Buildei ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ "ΠΆΠΈΠ²ΡΠΌ"(live query).
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΅ΡΠ΅ ΠΎΠ΄Π½Π° Π²Π°ΠΆΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ "ΠΆΠΈΠ²ΡΡ " Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΡΡΠ΅Π³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ IBDataSet 1 Π²ΡΠΏΠΎΠ»Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π΅ RefreshSQL. ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ Π·Π°ΠΏΠΈΡΡ - ΡΠ΅ΠΊΡΡΡΡ ΠΈ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ»Π΅ΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠ΄Π΅Π»Π°Π½Π½ΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ.
SELECT
EMP_NO,
FIRST_NAME,
LAST_NAME,
PHONE_EXT,
HIRE_DATE,
DEPTMTO,
JOB_CODE,
JOB_GRADE,
JOB_COUNTRY,
SALARY,
FULL_NAME
FROM EMPLOYEE
WHERE
EMP_NO = :EMP_NO
Π‘ΠΌΡΡΠ» Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ, Π΅ΡΠ»ΠΈ Π΄ΠΎΠΏΡΡΡΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΡΡΠΈΠ³Π³Π΅ΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π±Π»ΠΈΡΡ EMPLOYEE, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ Π² ΡΠ°ΠΌΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π²ΡΡΠ°Π²ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΡΠΎ Π±Π΅Π· ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΡΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ (Ρ. Π΅. Π±Π΅Π· Select ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ), ΠΌΡ Π½Π΅ ΡΠ·Π½Π°Π΅ΠΌ ΠΎ ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π½Ρ Π² ΡΡΠΈΠ³Π³Π΅ΡΠ°Ρ . ΠΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π²ΠΎΠΎΠ±ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΎΡΠΊΡΡΡΡ Π²Π΅ΡΡ Π·Π°ΠΏΡΠΎΡ, Π·Π°Π΄Π°Π½Π½ΡΠΉ Π² SelectSQL.
ΠΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π² BDE, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Ρ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΎΡΠΊΡΡΠ²Π°ΡΡ Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ. Π IBX Π±Π΅Π· ΡΡΠΎΠ³ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ RefieshSQL, Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΠ² ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΡΠ°ΡΠΈΠΊ ΠΈ ΡΠ½ΠΈΠ·ΠΈΠ² Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΎΡΠΊΡΡΡΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ° ΡΠ΅Π»ΠΈΠΊΠΎΠΌ.
IBX ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±ΡΡΡΡΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΡΡΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° IBDataSet (ΡΠΈΡ 2.9.)
ΠΡΠ±ΡΠ°Π² ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Table Name Π½Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡ Get Table Fields ΠΌΡ ΡΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠΈ Key Fields ΠΈ Update Fields. Π ΡΠΏΠΈΡΠΊΠ΅ Key Fields Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΠ΅ ΠΏΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ WHERE Π² Π½Π°ΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠ°Ρ . ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Ρ ΡΠ°Π±Π»ΠΈΡΡ. ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΊΠ»ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π»Ρ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Select Primary Keys, ΡΡΠΎΠ±Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ.
Π ΠΈΡ 2.9. ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΡΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²
Π ΡΠΏΠΈΡΠΊΠ΅ Update Fields Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΠ΅ ΠΏΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΏΠΎΠ»Π΅ FULL_NAME Π½Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π² ΡΠΏΠΈΡΠΎΠΊ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ CALCULATED-ΠΏΠΎΠ»Π΅ ΠΈ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅Π»ΡΠ·Ρ ΠΌΠ΅Π½ΡΡΡ
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π½Π°Π΄ΠΎ ΡΠ°ΠΌΠΎΠΌΡ ΡΠΎΡΠ½ΠΎ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ· ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΡΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π΅ Π΄Π°Π΄ΡΡ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ. ΠΠ°ΠΆΠ΅ ΠΏΡΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΏΠΎΡΡΠ°ΡΠΈΠ² Π²ΠΏΡΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ IBDataSetl Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ "Ρ ΠΎΡΠ΅Π»" ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΡΠΌ. Π’ΠΎΠ»ΡΠΊΠΎ Π²ΡΡΡΠ½ΠΈΠ², ΡΡΠΎ ΠΏΠΎΠ»Π΅ FULL_NAME ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΠΈΡΠ»ΠΈΠΌΡΠΌ, ΡΡΠ°Π»ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΏΠΎΡΠ΅ΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° IBDataSetl ΠΏΡΡΠ°Π»ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Prepare Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΡΠΎΠΎΠ±ΡΠ°Π», ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ read-only-ΠΏΠΎΠ»Π΅! Π₯ΠΎΡΠ΅ΡΡΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅Ρ Π² Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π² FIBPlus.