AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Was stimmt mit SQL Syntax nicht???
Thema durchsuchen
Ansicht
Themen-Optionen

Was stimmt mit SQL Syntax nicht???

Ein Thema von Mayday171 · begonnen am 12. Mai 2006 · letzter Beitrag vom 12. Mai 2006
Antwort Antwort
Mayday171

Registriert seit: 19. Apr 2006
40 Beiträge
 
#1

Was stimmt mit SQL Syntax nicht???

  Alt 12. Mai 2006, 08:42
Datenbank: MySQL • Version: 3.2 • Zugriff über: Zeos Komponenten
Hallo!
Versuche ein paar Werte in eine SQL Datenbank reinzu ballern, aber das will mir irgendwie nicht gellingen!

Delphi-Quellcode:
if (cutrev(tempstring,'_')='ERROR') or (cutrev(tempstring,'_')='OK') then
          begin
            zquery1.SQL.Add('REPLACE INTO berichte (status) VALUES("'+cutrev(tempstring,'_')+'")');
            showmessage('status='+(cutrev(tempstring,'_')));
            tempstring:=cut(tempstring,'_');
          end;

        if ((length(cutrev(tempstring,'_'))=1) or (length(cutrev(tempstring,'_'))=2)) and (length(cutrev(tempstring,'_'))<>0) then
          begin
            zquery1.SQL.Add('REPLACE INTO berichte (durchlauf) VALUES('+cutrev(tempstring,'_')+')');
            showmessage('durchlauf='+(cutrev(tempstring,'_')));
            tempstring:=cut(tempstring,'_');
          end;

        if (cutrev(tempstring,'_')='') xor not(strisalpha(cutrev(tempstring,'_'))) then
          begin
            zquery1.SQL.Add('INSERT INTO berichte (produktnummer) VALUES('+cutrev(tempstring,'_')+')');
            showmessage('Produktnummer='+(cutrev(tempstring,'_')));
            tempstring:=cut(tempstring,'_');
          end;
        if tempstring<>'then
        zquery1.SQL.Add('REPLACE INTO berichte (name) VALUES("'+tempstring+'");');
        //showmessage('name='+tempstring);
        showmessage(zquery1.SQL.Text);




        zquery1.ExecSQL;
        zquery1.sql.clear;
Der Fehler steckt in der 3. SQL Anweißung. Er gibt mir den Fehler aus das mit der Syntax etwas nicht stimmen soll, aber ich endecke keinen Fehler. Sobald ich die Anweißung weg mach läuft alles wunderbar. die spalte produktnummer ist vom Typ integer und auf default 0 gesetzt. Die funktion cutrev gibt einen String zurück.

MfG
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: Was stimmt mit SQL Syntax nicht???

  Alt 12. Mai 2006, 08:46
Hi!

Ich glaub, da passt was mit den ' nicht:

VALUES('+cutrev(tempstring,'_')+')'); Der erste ' steht da so einsam rum...


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Was stimmt mit SQL Syntax nicht???

  Alt 12. Mai 2006, 08:56
Zitat von Mayday171:
die spalte produktnummer ist vom Typ integer und auf default 0 gesetzt. Die funktion cutrev gibt einen String zurück.
Wie sieht denn der String aus? Ist es möglich das da irgendewelche Zeichen drin sind die nicht drin sein dürfen?


'INSERT INTO berichte (produktnummer) VALUES('+cutrev(tempstring,'_')+')' @fkerber: passt doch so...oder?


Edit: (cutrev(tempstring,'_')='') wenn das der Fall ist gehst du da rein? Na da kann doch nur ein fehler kommen, das Feld kann ja keine leeren Strings erhalten
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#4

Re: Was stimmt mit SQL Syntax nicht???

  Alt 12. Mai 2006, 09:17
Hi!

Zitat von Angel4585:
'INSERT INTO berichte (produktnummer) VALUES('+cutrev(tempstring,'_')+')' @fkerber: passt doch so...oder?

Vorne den ' übersehen


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Mayday171

Registriert seit: 19. Apr 2006
40 Beiträge
 
#5

Re: Was stimmt mit SQL Syntax nicht???

  Alt 12. Mai 2006, 10:12
Alles erledigt!! Danke für die Antworten...
Lag daran, dass SQL oder Delphi nicht mit den vielen SQL Anweißungen in der TStringList von zquery1.sql zurecht kam.
Hab es jetzt in Variablen gespeichert und lasse es in einer Anweißung durchgeben...

MfG
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 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