Autor Téma: Editovanie záznamu vyhodí chybu  (Přečteno 611 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4546
  • Karma: 40
    • Verze Delphi: XE7 professional
Editovanie záznamu vyhodí chybu
« kdy: 02-09-2019, 22:04:22 »

Dám Table.Edit. Ak zmením hodnotu niektorého poľa, tak dostávam nasledovné oznamy:
.
'[FireDAC][Phys][FB]-312. Exact update affected 0 rows, while 1 was requested'.
Ak dám pokračovať
'[FireDAC][DApt]-400. Update command updated 0 instead of 1 record. Possible reasons: update table does not have PK or row identifier, record has been changed/deleted by another user'.
.
V inom programe, z ktorého som prebral celé riešenie, sa mi nič také nestalo.
V čom môže byť problém, keď záznam je v poriadku?
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 811
  • Karma: 45
    • Verze Delphi: 10.3
Re:Editovanie záznamu vyhodí chybu
« Odpověď #1 kdy: 02-09-2019, 22:42:04 »
A má ta tabulka primární klíč?

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4546
  • Karma: 40
    • Verze Delphi: XE7 professional
Re:Editovanie záznamu vyhodí chybu
« Odpověď #2 kdy: 03-09-2019, 07:51:54 »
Má. Tabuľky bez PK nerobím.
Ak neurobím žiadnu zmenu, tak ten záznam bez problémov uložím.
.
Malé upresnenie. Funguje mi to nad Access-om. Tu sa jedná o FB.
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:Editovanie záznamu vyhodí chybu
« Odpověď #3 kdy: 03-09-2019, 08:23:05 »

V FDConnection som zmenil vlastnosť UpdateMode z upWhereKeyOnly na
Kód: [Vybrat]
UpdateMode = upWhereChangedTak to funguje. Teraz si naštudovať čo to znamená.
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:Editovanie záznamu vyhodí chybu
« Odpověď #4 kdy: 03-09-2019, 08:50:32 »
Problém bol v tom, že som v FDTable nemal nastavenú hodnotu UpdateOptions.KeyFields
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:Editovanie záznamu vyhodí chybu
« Odpověď #5 kdy: 03-09-2019, 08:55:09 »
Ja som si myslel, že to je potrebné nastaviť len v prípade ak priamo v tabuľke použijem Generator. To nie je môj prípad.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.