Einzelnen Beitrag anzeigen

AnfängerDelphi

Registriert seit: 20. Mai 2010
25 Beiträge
 
#8

AW: Daten mit SQLDataSet in mysql-Datenbank schreiben

  Alt 31. Mär 2017, 16:49
Hallo,

mal ein paar Grundinformationen.
Zitat von haentschman:
...oder anders gefragt: Warum ist die Entscheidung auf MySQL gefallen?
Die Entscheidung eine Mysql-Datenbank zu benutzen,kommt nicht von mir,sondern wird durch die Software vorgegeben,die ich verwende.
Mein Ziel ist es,die Daten von einer bestehenden Mysql-Datenbank in die neue Datenbank zu übertragen,ohne Zwischenspeicherung.

Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var z : Integer;
begin
 
  SQLDataSet1.Close;
  for z := 5 to 10 do
  begin
  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.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;
Die fehlende CommandText Zeile habe ich schon eingefügt,aber der Fehler hängt mit der zweiten Insert-Anweisung zusammen.
Wenn ich die zweite Insert-Anweisung auskommentiere funktioniert es problemlos.
Aber ich benötige auch die zweite Insert-Anweisung.

Zitat:
Hast du dich auch mit den Grundlagen der DBX Komponente befaßt?
Nein,habe ich bis jetzt noch nicht gemacht.
Ich schaue mir es mal genauer an und werde es auch ausprobieren.

Zitat von jobo:
Der nächste Verwandte der Anonymen Blöcke sind die Stored Procedures
Ich habe mir mal kurz die Infos dazu durchgelesen,klingt auf jeden Fall mal nicht schlecht.
Kann ich meine Insert-Anweisungen so übernehmen?

Gruß AnfängerDelphi
  Mit Zitat antworten Zitat