Autor Téma: MyDAC, ClientDataset a zracené memofieldy  (Přečteno 43 krát)

Offline jbd

  • Nováček
  • *
  • Příspěvků: 4
  • Karma: 0
MyDAC, ClientDataset a zracené memofieldy
« kdy: 21-06-2024, 12:35:21 »
Mám ClientDataset připojený přes DatasetProvider a MyQuery do MySQL.
Select je jenom na jeden řádek tabulky, podle id záznamu:
 "select id, jmeno, poznamka from tabulka where id=:id".

Pokud v záznamu opravím "jmeno" a na poznámku nešáhnu, po ApplyUpdates mám v tabulce nulovou poznámku.
Pokud však opravím i poznámku, ApplyUpdates vše pošle do databáze bez problémů.
Zatím to obcházím zapamatováním poznámky v proměnné a opětovnou editací poznámky. dbMonitor ukazuje při zápisu parametr "poznamka" = <null>, DatasetProvider.DeltaDS.FieldByName('poznamka') je při BeforeUpdateRecord taky nulový.
Netuším co mám nastaveno špatně...
 :-[

Offline Jan Fiala

  • Hrdina
  • ****
  • Příspěvků: 439
  • Karma: 6
    • Verze Delphi: 10.4.1
    • PSPad editor
Re:MyDAC, ClientDataset a zracené memofieldy
« Odpověď #1 kdy: 21-06-2024, 19:07:03 »
Jakeho typu je poznamka?
Pokud na poznamku nesahnes, posilas ji v update take?

Offline jbd

  • Nováček
  • *
  • Příspěvků: 4
  • Karma: 0
Re:MyDAC, ClientDataset a zracené memofieldy
« Odpověď #2 kdy: 21-06-2024, 22:57:12 »
Poznamka je v Mysql Text a v ClientDatasetu TMemoField.
V myquery mám vygenerované  příkazy na Update k aktualizaci všech sloupců. Bez update příkazu myquery na Mysql4.1 neprojde ApplyUpdate (i když dbMonitor ukazuje vše OK), na vyšší mysql (10.1.16-MariaDB) to bez update příkazu projde - Myquery vygneruje vlastní a aktualizuje jenom změněné sloupce a poznámku nevymaže.