beste weg, um daten mit dephi in sql server 2008 einzufügen

Ich habe ein solches Skript immer verwendet, um Daten in eine Tabelle in Delphi 7 einzufügen

sql := 'INSERT INTO table_foo (field1,field2,field3) VALUES ('
+quotedstr('value1')
+','+quotedstr('value2')
+','+quotedstr('value3')
+')';
adoquery1.close;
adoquery1.sql.text := sql;
adoquery1.execsql;

aber einer meiner Freunde hat mir nur einen anderen Weg gezeigt, der sauberer aussieht:

sql := 'SELECT * FROM table_foo';
adoquery1.close;
adoquery1.sql.text := sql;
adoquery1.open;
adoquery1.insert;
adoquery1.fieldbyname('field1').asstring := quotedstr('value1');
adoquery1.fieldbyname('field2').asstring := quotedstr('value2');
adoquery1.fieldbyname('field3').asstring := quotedstr('value3');
adoquery1.post;

Welche der beiden Methoden sind besser (schneller, leichter zu lesen / zu debuggen)? vor allem, wenn die Daten intable_foo ist groß oder es müssen viel mehr Felder ausgefüllt werden.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage