Kämpfen wir uns mal an das Problem ran.
Ich sehe an deinem Quellcode schon ein paar Probleme die evtl. was mit dem Fehler zu tun haben.
1, Du verwendest Feldnamen die bei
MySQL auch Schlüsselwörter sind (
https://dev.mysql.com/doc/refman/5.7/en/keywords.html).
Evtl. versucht
MySQL bei weideren Ausführungen diese auch wirklich als Schlüsselwörter zu interpretieren
2, Was sollen die Zuweisungen bewirken?
Form1.SQLDataSet1.ParamByName('Type').Name:='Type' ;
Vor allem wen du mit
Form1.SQLDataSet1.ParamByName('Stellung').Name:='S tellung';
Den Parameternamen änderst dürfte die zweite Ausführung des Commandtext fehlschlagen
3, Wenn du viele Werte Schreibst solltest du die Anweisung perparend
Delphi-Quellcode:
MyDS.CommandText:='INSERT INTO Strecke (Type, Nummer, Einfahrt, Ausfahrt, Gleis, Gleisnummer, Stellung, vorher, nachher, Status) VALUES (:Type, :Nummer, :Einfahrt, :Ausfahrt, :Gleis, :Gleisnummer, :Stellung, :vorher, :nachher, :Status)';
MyDS.Prepare;
// Hier deine Schleife
MyDS.ParamByName('Nummer').Value:=0;
MyDS.ParamByName('Ausfahrt').Value:=' ';
MyDS.ParamByName('Gleis').Value:=0;
MyDS.ParamByName('Gleisnummer').Value :=0;
...
h2:=Form1.SQLDataSet1.ExecSQL(False);
// Hier Ende Schleife
MyDS.Unprepare;
Windows Vista - Eine neue Erfahrung in Fehlern.