Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

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

AW: Daten mit SQLDataSet in mysql-Datenbank schreiben

  Alt 31. Mär 2017, 06:52
Moin...
Zitat:
oder ist es besser PHP dafür zu benutzen?
... er hat Jehova gesagt.
Was ist mit dir los? Gleich die Flinte ins Korn werfen wenn etwas nicht auf Anhieb funktioniert.

Hast du dich auch mit den Grundlagen der DBX Komponente befaßt?
http://docwiki.embarcadero.com/Libra...on.TDBXCommand
Zitat:
Die Eigenschaft TDBXCommand.Text wird auf den Befehl gesetzt, der ausgeführt werden soll.
...da steht das das Command.Text für diese eine SQL Anweisung gültig ist die mit ExecSQL ausgeführt wird/werden soll.

http://docwiki.embarcadero.com/Libra...and.Parameters
Zitat:
Parameter können mit der Eigenschaft TDBXCommand.Parameters hinzugefügt.
...das wichtigste sind auch Parameter. Stichwort: SQL Injection.


Die Lösung hast doch schon...
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;
Hast du den letzten Stand des Beispiels?

Zitat:
Exception-Klasse TDBXError mit Meldung 'You have an error in your SQL syntax...
Das sagt doch alles. Wie sehen die einzelnen CommandText an jedem ExecSQL aus? (Debugger)

Hinweis:
Hast du dich mal mit der MySQL Lizenzfalle (libmysql.dll) beschäftigt?
http://www.entwickler-ecke.de/viewto...er=asc&start=0
...oder anders gefragt: Warum ist die Entscheidung auf MySQL gefallen?

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