@marabu: Es verstößt nicht gegen die Regeln....Die Tabelle wird tausendmal anderweitig verwendet. Ich lese die Feldnamen vorher aus der Accesstabelle aus und übergebe diese dann an den
SQL-String folgendermaßen:
Delphi-Quellcode:
Lst := TStringList.Create;
try
for n := 0
to myaccessDS.FieldCount - 1
do
begin
if (Pos('
Logo', myaccessDS.Fields.Fields[n].FieldName) = 0)
then
Lst.Add(myaccessDS.Fields.Fields[n].FieldName);
end;
finally
myFields := Lst.Commatext;
Lst.Free;
end;
...
while not MySQLDS.Eof
do
begin
myValues := AnsiQuotedStr(mySQLds.FieldByName('
Category').AsString, #39) +'
,';
myValues := myValues + AnsiQuotedStr(mySQLds.FieldByName('
Name').AsString, #39) +'
,';
...
SQL := '
INSERT INTO race00 (' + myFields + '
) VALUES (' + myValues + '
)';
try
if myaccessDB.Connected
then
begin
myaccessComm.CommandText :=
SQL;
myaccessComm.Execute;
end;
except
end;
end;
Das mySQLDS besitzt mindestens alle Felder, welche in der Accesstabelle vorhanden sind und mehr.
@hoika: Welche Parameter?