Leider kenne ich ZEOS nicht und mit SQLite habe ich auch noch nicht viel gemacht.
Wenn es
MySQL wäre und Du die MyDac-Komponenten benutzen würdest, müsste man dort nur FetchAll auf false und UniDirectional auf True setzen, dann wird immer nur die unter FetchRows angegebene Anzahl von Datensätzen im Speicher gehalten und man kann mit einer einzigen While-Schleife beliebig große Datenbanktabellen oder
Query-Ergebnisse durchlaufen. Keine Gefahr von Out-Of-Memory.
Vielleicht gibt es ja bei ZEOS & SQLite ähnliche Optionen?