Nur so ein Gedanke: könnte man nicht das
SQL über GetFieldnames zusammensetzen? Aus der hohlen Hand:
Delphi-Quellcode:
InitialSQL := 'INSERT INTO %s(%s) VALUES(%s)';
ADOConnection.GetFieldNames(<Tabellenname>, <Feldliste>);
FieldnameStr := <Feldliste>.CommaText;
for i := 0 to <Feldliste>.Count - 1 do
<Feldliste>[i] := ':' + <Feldliste>[i];
ParamnameStr := <Feldliste>.CommaText;
InsertQuery.SQL.Text := Format(InitialSQL, [<Tabellenname>, FieldnameStr, ParamnameStr]);
Anschließend könnte man dann in einer Schleife den Parametern die aktuellen Werte zuweisen.
Ergibt leider:
Code:
---------------------------
Benachrichtigung über Debugger-
Exception
---------------------------
Im Projekt pDatenbankabgleich.exe ist eine
Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 0046A3CE in Modul 'pDatenbankabgleich.exe'. Schreiben von Adresse 0048AAA8'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------
EDIT:
Exception kommt bei conMaster.GetFieldNames(tableName, fieldList);