Einzelnen Beitrag anzeigen

Alex.G

Registriert seit: 30. Aug 2011
31 Beiträge
 
Delphi 7 Enterprise
 
#15

AW: INSERT INTO SELECT ohne Spaltenliste

  Alt 21. Okt 2011, 09:23
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);
  Mit Zitat antworten Zitat