Autor Téma: Je nutné použiť try ... except v týchto prípadoch?  (Přečteno 487 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4420
  • Karma: 39
    • Verze Delphi: XE7 professional
Tu neviem:
  • Table.Insert
  • Table.Edit
  • Čítanie z tabuľky. cosi := Table.Fields.Fields.As...
  • Table.Transaction.Commit
Po Insert a Edit ihneď nasleduje Post
Tu viem, že to musím použiť:
  • Table.Post
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4420
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Je nutné použiť try ... except v týchto prípadoch?
« Odpověď #1 kdy: 29-04-2019, 20:02:46 »
Ďakujem za presun do správnej sekcie.
Prešiel som si FireDAC na docwiki aj internete a nič som sa nedočítal. Všetko je robené cez query. Viem, že aj Table je query rozšírený o ďalšie vlastnosti.
Dôvodom položenia otázky je riešenie výnimiek. Ak sa Table.Insert/Edit vykoná len v rámci FireDAC, tak to značne uľahčí obsluhu výnimiek. Nemusím ich napríklad dať do try - except. Ale to som sa nedozvedel.
Ak je to príkaz priamo pre DBMS, tak to musím spracovať ináč.


Prosím o odpoveď. Otázku transakcií a s tým súvisiacich vecí nechajme bokom.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 766
  • Karma: 43
    • Verze Delphi: 10.3
Re:Je nutné použiť try ... except v týchto prípadoch?
« Odpověď #2 kdy: 30-04-2019, 15:17:13 »
Firedac nevím, ale s IBX to klasicky bývá nějak takto:

Kód: [Vybrat]
q.Insert; // nebo q.Edit;
try
 ...
 q.Post;
except
 q.Cancel;
 raise;
end;

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4420
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Je nutné použiť try ... except v týchto prípadoch?
« Odpověď #3 kdy: 30-04-2019, 15:23:27 »
Predpokladám to isté. Ďakujem.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.