Ik werk met Delphi 7 en daarin heb je een Tquery en een TUpdateSQL component.
(Natuurlijk bestaan deze ook in de lagere delphi versies)
In Designtime is het mogelijk op een tUpdateSQL component te klikken en de SQL-update-, delete-, insert- en refresh-statements te genereren aan de hand van de sql-statement uit de tquery component.
Dat zou ik graag in runtime mogelijk willen maken.
Je opent een tabel (maakt niet uit welk tabel en uit welke database) en voor het openen (event beforeopen) koppel je in runtime een updatesql en genereer de benodigde SQL-statements. Dit om te bewerkstelligen dat de velden in de tquery muteerbaar worden.
Weten jullie daarvoor een makkelijke en leuke truc ?
Op dit moment heb ik een eigen tquery component geschreven, waaraan GEEN tupdateSQL hangt, maar in event AfterPost, BeforeDelete, AfterInsert, Afterscroll wordt ApplyUpdates aangeroepen. In event OnUpdateSQL genereer ik in een aparte tQuery de SQL-statements a.d.h.v. de select-statement uit de tquery en voert deze uit.
Dit is absoluut niet optimaal en een crime bij meerdere soorten databases.
Maar op zich werkt dit goed en redelijk vlot. (< 100.000 records per tabel).
Ik ben niet zo ver dat dit werkt wanneer in een select-statement gegevens uit meerdere tabellen worden opgevraagd. Maar ach.. daar kan tupdatesql ook niet mee overweg.
(Natuurlijk bestaan deze ook in de lagere delphi versies)
In Designtime is het mogelijk op een tUpdateSQL component te klikken en de SQL-update-, delete-, insert- en refresh-statements te genereren aan de hand van de sql-statement uit de tquery component.
Dat zou ik graag in runtime mogelijk willen maken.
Je opent een tabel (maakt niet uit welk tabel en uit welke database) en voor het openen (event beforeopen) koppel je in runtime een updatesql en genereer de benodigde SQL-statements. Dit om te bewerkstelligen dat de velden in de tquery muteerbaar worden.
Weten jullie daarvoor een makkelijke en leuke truc ?
Op dit moment heb ik een eigen tquery component geschreven, waaraan GEEN tupdateSQL hangt, maar in event AfterPost, BeforeDelete, AfterInsert, Afterscroll wordt ApplyUpdates aangeroepen. In event OnUpdateSQL genereer ik in een aparte tQuery de SQL-statements a.d.h.v. de select-statement uit de tquery en voert deze uit.
Dit is absoluut niet optimaal en een crime bij meerdere soorten databases.
Maar op zich werkt dit goed en redelijk vlot. (< 100.000 records per tabel).
Ik ben niet zo ver dat dit werkt wanneer in een select-statement gegevens uit meerdere tabellen worden opgevraagd. Maar ach.. daar kan tupdatesql ook niet mee overweg.