Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#9

AW: Daten mit SQLDataSet in mysql-Datenbank schreiben

  Alt 31. Mär 2017, 17:01
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.

Geändert von haentschman (31. Mär 2017 um 17:20 Uhr)
  Mit Zitat antworten Zitat