Muitas pessoas me enviam questionamentos sobre esse erro causado pelo ZeosDBO, principalmente quando trabalhamos com objetos “table” ao invés de querys.
No desenvolvimento do ZeosDBO muitas coisas ficaram para trás, entre elas, uma exceção criada (sabe-se lá porque motivo) que deveria ser habilitada somente quando a variável global WITH_VALIDATE_UPDATE_COUNT estivesse presente.
Com isso, todas vezes que você abre um registro com “TableObject.Edit” e não faz nenhuma alteração nos campos deste registro, a exceção é acionada com a mensagem “0 record(s) updated. Only one record should have been updated“.
Para remover esta exceção você precisa editar dois arquivos, o src\component\ZSQLUpdate.pas e o
No arquivo src\component\ZSQLUpdate.pas, na linha 829 remova o bloco abaixo selecionado.
No arquivo src\dbc\ZDbcGenericResolver.pas você deve editar na linha 872 e também remover o código selecionado.
Depois, é necessário recompilar, construir (build) e reinstalar o ZeosDBO no seu Delphi.