Forum Delphi.cz

Delphi => FireDAC => Téma založeno: Stanislav Hruška 02-09-2019, 22:04:22

Název: Editovanie záznamu vyhodí chybu
Přispěvatel: Stanislav Hruška 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?
Název: Re:Editovanie záznamu vyhodí chybu
Přispěvatel: vandrovnik 02-09-2019, 22:42:04
A má ta tabulka primární klíč?
Název: Re:Editovanie záznamu vyhodí chybu
Přispěvatel: Stanislav Hruška 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.
Název: Re:Editovanie záznamu vyhodí chybu
Přispěvatel: Stanislav Hruška 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á.
Název: Re:Editovanie záznamu vyhodí chybu
Přispěvatel: Stanislav Hruška 03-09-2019, 08:50:32
Problém bol v tom, že som v FDTable nemal nastavenú hodnotu UpdateOptions.KeyFields
Název: Re:Editovanie záznamu vyhodí chybu
Přispěvatel: Stanislav Hruška 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.