Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   MySQL Insert und Delphi XE5 (https://www.delphipraxis.net/191170-mysql-insert-und-delphi-xe5.html)

juelin 15. Dez 2016 15:06

Datenbank: MySql • Version: 5.6.24 • Zugriff über: XE5

MySQL Insert und Delphi XE5
 
brauche Hilfe,
ich habe eine Procedure geschrieben welche ein Tabelle leert und anschliessend wieder füllt.
Die ersten SQL-Befehle sind 1. Truncate Table, 2. Insert Into Table
Wenn ich die Procedure zum 1. mal aufrufe läuft alles ok.
Wenn ich die Procedure zum 2. mal aufrufe bekomme ich bei dem Insert Into
den Fehler "falsche SQL-Syntax".
Normalerweise hate die Tabelle über 8000 Sätze.
Wenn ich das gleiche Spiel mit nur einem Datensatz in der Tabelle mache läuft alles super.
Keine Ahnung was das ist, auf jeden Fall kein Syntax-Error.
Hat da jemand eine Ahnung?
Gruß Jürgen

p80286 15. Dez 2016 15:29

AW: MySQL Insert und Delphi XE5
 
In der dritten Zeile, ist das Komma an Stelle 5 nicht korrekt!

Wie sollen wir den Fehler finden, wenn Du uns die Sourcen vorenthälst?

Gruß
K-H

juelin 15. Dez 2016 18:46

AW: MySQL Insert und Delphi XE5
 
ich hätte ja die Source geschickt,
ist aber zu groß.
Ich arbeite mit DBEXPRESS Komponenten.
Gruß Jürgen

Form1.SQLDataSet1.CommandText:='TRUNCATE TABLE Strecke';
h2:=Form1.SQLDataSet1.ExecSQL(True);
if h2 <> 0 then
begin
JaNein:=messagedlg('Fehler beim Löschen Strecke', mtError, [mbOk], 0);
abbruch:=True;
close;
end;
Form1.SQLDataSet1.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)';
Form1.SQLDataSet1.ParamByName('Type').Name:='Type' ;
Form1.SQLDataSet1.ParamByName('Type').DataType:=ft Integer;
Form1.SQLDataSet1.ParamByName('Type').Value:=0;
Form1.SQLDataSet1.ParamByName('Nummer').Name:='Num mer';
Form1.SQLDataSet1.ParamByName('Nummer').DataType:= ftInteger;
Form1.SQLDataSet1.ParamByName('Nummer').Value:=0;
Form1.SQLDataSet1.ParamByName('Einfahrt').Name:='E infahrt';
Form1.SQLDataSet1.ParamByName('Einfahrt').DataType :=ftString;
Form1.SQLDataSet1.ParamByName('Einfahrt').Value:=' ';
Form1.SQLDataSet1.ParamByName('Ausfahrt').Name:='A usfahrt';
Form1.SQLDataSet1.ParamByName('Ausfahrt').DataType :=ftString;
Form1.SQLDataSet1.ParamByName('Ausfahrt').Value:=' ';
Form1.SQLDataSet1.ParamByName('Gleis').Name:='Glei s';
Form1.SQLDataSet1.ParamByName('Gleis').DataType:=f tInteger;
Form1.SQLDataSet1.ParamByName('Gleis').Value:=0;
Form1.SQLDataSet1.ParamByName('Gleisnummer').Name: ='Gleisnummer';
Form1.SQLDataSet1.ParamByName('Gleisnummer').DataT ype:=ftInteger;
Form1.SQLDataSet1.ParamByName('Gleisnummer').Value :=0;
Form1.SQLDataSet1.ParamByName('Stellung').Name:='S tellung';
Form1.SQLDataSet1.ParamByName('Stellung').DataType :=ftInteger;
Form1.SQLDataSet1.ParamByName('Stellung').Value:=0 ;
Form1.SQLDataSet1.ParamByName('vorher').Name:='vor her';
Form1.SQLDataSet1.ParamByName('vorher').DataType:= ftInteger;
Form1.SQLDataSet1.ParamByName('vorher').Value:=0;
Form1.SQLDataSet1.ParamByName('nachher').Name:='na chher';
Form1.SQLDataSet1.ParamByName('nachher').DataType: =ftInteger;
Form1.SQLDataSet1.ParamByName('nachher').Value:=0;
Form1.SQLDataSet1.ParamByName('Status').Name:='Sta tus';
Form1.SQLDataSet1.ParamByName('Status').DataType:= ftInteger;
Form1.SQLDataSet1.ParamByName('Status').Value:=0;
h2:=Form1.SQLDataSet1.ExecSQL(False);
if h2 <> 1 then
begin
JaNein:=messagedlg('Fehler beim Anlegen Strecke', mtError, [mbOk], 0);
abbruch:=True;
close;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz