Forum Delphi.cz

Delphi => FireDAC => Téma založeno: Stanislav Hruška 17-03-2016, 14:36:22

Název: TFDTransaction - vysvetlenie.
Přispěvatel: Stanislav Hruška 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.
Název: Re:TFDTransaction - vysvetlenie.
Přispěvatel: Stanislav Hruška 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.
Název: Re:TFDTransaction - vysvetlenie.
Přispěvatel: pf1957 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