Hallöle...
Ich glaube nicht das mit der 2. Anweisung zusammenhängt...bestenfalls mit dem Statement was du ausführen willst. In diesem Statement hast du einen Syntaxfehler drin.
Lasse dir das Statement mal
über den Debugger anzeigen und schreibe es mal hier rein....
Prüfe ob die Tabellen im Ziel existieren etc.
Es könnte sein, daß das
SQLDataSet1.Close;
vor jedem Command.Text erwartet wird.
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var z : Integer;
begin
for z := 5 to 10 do
begin
SQLDataSet1.Close; // neu
SQLDataSet1.CommandText :=
'insert into datenbank_neu.Tabelle5 (spalte1,spalte2,spalte3)' +
'select spalte5,0,spalte12' +
'from datenbank_alt.Tabelle20 where datenbank_alt.Tabelle20.reihenfolge =' + IntToStr(z)+';';
SQLDataSet1.ExecSQL;
SQLDataSet1.Close; // neu
SQLDataSet1.CommandText := // diese Zeile hat in Beitrag #2 gefehlt.
'insert into datenbank_neu.Tabelle42 (spalte1)' +
'select spalte5 ' +
'from datenbank_alt.Tabelle47 where datenbank_alt.Tabelle55.reihenfolge =' + IntToStr(z)+';';
SQLDataSet1.ExecSQL;
Zitat:
use near '.datenbank_alt.Tabelle47 where
...in der Fehlermeldung steht:
.datenbank_alt...da ist vor der datenbank_alt
ein Punkt?
Im Beispiel ist keiner:
from datenbank_alt.Tabelle47 where
Deshalb brauchen wir das Original aus dem Debugger...
Zitat:
Ich schaue mir es mal genauer an und werde es auch ausprobieren.
...schaue dir als allererstes die Parameter und deren Verwendung an...da hast du weniger Streß mit QuotedStr Orgien.