Autor Téma: attempted update during read-only transaction  (Přečteno 77 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4546
  • Karma: 40
    • Verze Delphi: XE7 professional
attempted update during read-only transaction
« kdy: 30-11-2019, 22:21:15 »

At block line: 11, col: 1'.
Bežne používaný kód mi odrazu vypisuje hore uvedený oznam. Pritom to nie je pravda. Viď test
Kód: [Vybrat]
  if not AQuery.UpdateTransaction.Active then
    AQuery.UpdateTransaction.StartTransaction;
if AQuery.UpdateTransaction.Options.ReadOnly then
ShowMessage('ReadOnly');
  try
    AQuery.Execute(AQuery.Params.ArraySize, 0);
Nemám nič spustené čo by pracovalo s DB (FB). Netuším kde môže byť zrada.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4546
  • Karma: 40
    • Verze Delphi: XE7 professional
Re:attempted update during read-only transaction
« Odpověď #1 kdy: 01-12-2019, 10:11:34 »

Tak som sa poustil do pokusov.
Vyhodil som Transaction/TransactionUpdate z Connection. Prestalo to vyhadzovať danú chybu. Ale viď poznámky dole.
Kód: [Vybrat]
procedure TFDFunction.QryExecute(const AQuery: TFDQuery; ASQLType: TExecuteSQLType; ACommit: Boolean);
begin
  if not AQuery.UpdateTransaction.Active then
    AQuery.UpdateTransaction.StartTransaction;
  try
    ShowMessage(IntToStr(AQuery.UpdateTransaction.DataSetCount));  //  je = 0 To ma prekvapilo. Očakával som 1.
    AQuery.Execute(AQuery.Params.ArraySize, 0);
    ShowMessage(IntToStr(AQuery.RowsAffected));  // = 7
    if ACommit then
    begin
      AQuery.UpdateTransaction.Commit;
      ShowMessage(IntToStr(AQuery.RowsAffected));  // = 7
    end;
V DB nie je vykonaná žiadna zmena. Pre istotu som znovu vytvoril nevizuálne komponenty FDConnection a FDTransaction-Update.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4546
  • Karma: 40
    • Verze Delphi: XE7 professional
Re:attempted update during read-only transaction
« Odpověď #2 kdy: 01-12-2019, 11:01:01 »
Poor
Rated 1 time
Po tej úprave Connection to ide to dobre. Len som kontroloval údaj, ktorý sa zhodou okolností nemenil :'( :'( :'(
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.