Danke sx2008!
Das verschafft mir Klarheit
Hab es jetzt mal so gemacht, da ich ja eine TZConnection zu
MySQL habe und die ADOConnection zu Excel:
Delphi-Quellcode:
ZQuery1.Open;
// MySQL-Tabelle
while not ADOQuery1.Eof
do
begin
ZQuery1.Append;
// neuer, leerer Datensatz
ZQuery1.FieldByName('
content_nr').AsString := ADOQuery1.Fields[0].Value;
// Feld kopieren
ZQuery1.FieldByName('
content_sprache').AsString := ADOQuery1.Fields[1].Value;
ZQuery1.FieldByName('
content_text').AsString := ADOQuery1.Fields[2].Value;
ZQuery1.FieldByName('
content_datetime').AsString := '
now()';
ZQuery1.Post;
// Daten abschicken
ADOQuery1.Next;
// nächste Excel Reihe
end;
Das Problem jetzt ist: Er meint immer
SQL-
Query wäre leer...
Eine zusätzliches Problem kommt noch dazu:
im
MySQL-Table können schon Daten drin sein, die in der Excel-Datei auch stehen.
Leider gibt es in der
DB keinen unique-key, da 2 Felder gemeinsam sozusagen unique sein müssen.
In meinem Fall wäre das die 'content_nr' zusammen mit 'content_sprache'. Wenn in der Exceltabelle die gleiche Kombination vorkommt, dann soll dieser Datensatz übersprungen werden.
Fragt man das am besten über IF..THEN ab, oder geht das eleganter?