Autor Téma: TFDTransaction - vysvetlenie.  (Přečteno 899 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4224
  • Karma: 37
    • Verze Delphi: XE7 professional
TFDTransaction - vysvetlenie.
« kdy: 17-03-2016, 14:36:22 »
Pri TFDTransaction mám vypnuté AutoCommit.

1) fdtrnsctnBasic.DataSetCount vráti počet spustení transakcie. Konkrétne ak ju používam v cykle FDCommand.Execute
2) fdtrnsctnBasic.DataSets[Index] - pretože transakcia je atomická, tak tu nemôžem nič robiť. Myslím tým zrušiť (rollback) či potvrdiť (commit) ten konkrétny DataSet.
« Poslední změna: 17-03-2016, 14:38:53 od Stanislav Hruška »
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4224
  • Karma: 37
    • Verze Delphi: XE7 professional
Re:TFDTransaction - vysvetlenie.
« Odpověď #1 kdy: 18-03-2016, 11:05:46 »
Nenájde sa dobrá duša, ktorá mi (ne)potvrdí čo som napísal?
Pomôcka

1) A N *
2) A N *

Nehodiace sa vymažte.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2525
  • Karma: 131
    • Verze Delphi: D2007, XE3, DX10
Re:TFDTransaction - vysvetlenie.
« Odpověď #2 kdy: 18-03-2016, 12:22:53 »
Nenájde sa dobrá duša, ktorá mi (ne)potvrdí čo som napísal?

1) NE
2) ANO

Cele je to analogie napr. ke TComponent.Components[] a TComponent.ComponentsCount nebo TControls.Controls[] a TControls.ControlsCount a vyjadruje to kolik datasetu je napojeno na tu transakci a nema to nic spolecneho s jejim aktualnim stavem, ano kolikrat si volal nejake Execute nebo co. Je to proste jen parentship vazba tj.
Kód: Delphi [Vybrat]
  1. var txn: TXxxTransaction;
  2. var q1,q2...: TXxxQuery;
  3. ...
  4.    q1 := TXxxQuery.Create(...);
  5.    q1.Transaction := txn;
  6.  
  7.    q2 := TXxxQuery.Create(...);
  8.    q2.Transaction := txn;
  9. ...
  10.  
tak txn.DatasetCount=2, txn.Datasets[0] = q1 a txt.Datasets[1] = q2