Du greifst über die Spaltennummer zu
In einer
SQL-Umgebung (und nicht nur da) ist es schon angebracht, die Datenfelder über den Feldnamen anzusprechen.
Sonst nimmst du dir die Möglichkeit, z.B. an der Struktur der Tabelle nachträglich etwas verändern zu können.
bei
MySQL kann man im Prinzip alles per .asString machen. Die reine Lehre ist das aber nicht.
Delphi bietet die viel schönere Variante .asVariant, die ist in jedem Fall zu bevorzugen, wenn deine
SQL-Implementation das unterstützt. Mit ZEOS geht das.
Wenn du einigermaßen Bombensicher Datensätze kopieren willst ohne die Feldnamen zu verwenden, nimm
Delphi-Quellcode:
var i: integer
t: string;
for i := 0 to (tabelle1.fieldcount -1) do begin
t := tabelle1.fields[i].fieldname;
if not (tabelle2.findfield(t) = nil)
then tabelle2.fieldbyname(t).asVariant := tabelle1.fieldbyname(t).asVariant
end;