AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Absturz bei letzter Query
Thema durchsuchen
Ansicht
Themen-Optionen

Absturz bei letzter Query

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

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

Absturz bei letzter Query

  Alt 10. Mai 2006, 12:19
Datenbank: MySQL • Version: 4.0 • Zugriff über: Zeos Komponenten
Hallo !

Habe mich an MySQl und Delphi 6 mit Hilfe der Zeos Komponenten versucht.
Es klappt auch alles wunderbar, doch jetzt bin ich auf einen Fehler gestoßen hinter den ich einfach nicht kommen will.

Delphi-Quellcode:
while tempstring<>'do
        begin
          // überprüfung auf Fehlerbericht
          if (cutrev(tempstring,'_')='ERROR') or (cutrev(tempstring,'_')='OK') then
          begin
            zquery1.SQL.Add('INSERT INTO berichte (status) VALUES ("'+cutrev(tempstring,'_')+'")');

          end

          // überprüfen auf Durchlaufnummer
          else if (length(cutrev(tempstring,'_'))=1) or (length(cutrev(tempstring,'_'))=2) then // überprüfen auf Durchlaufnummer
          begin
            zquery1.SQL.Add('INSERT INTO berichte (durchlauf) VALUES ('+cutrev(tempstring,'_')+')');


          end

          // Überprüfen auf Produktnummer
          else if (length(cutrev(tempstring,'_'))>3) or (cutrev(tempstring,'_')='0') then
          begin
            zquery1.SQL.Add('INSERT INTO berichte (produktnummer) VALUES ('+cutrev(tempstring,'_')+')');

          end

          // Rest der Namens
          else if not ((cutrev(tempstring,'_'))='') and not ((cutrev(tempstring,'_'))=' ') then
          begin
            zquery1.SQL.Add('INSERT INTO berichte (name) VALUES ("'+cutrev(tempstring,'_')+'")');

          end;
          // Zeit eintragen
          //zquery1.SQL.Add('INSERT INTO berichte (zeit) VALUES ("'+datetimetostr((FileDatetoDatetime(fileage(filelistbox1.Directory+'\'+listbox1.Items[j]))))+'")');
          try
          zquery1.ExecSQL;
          tempstring:=cut(tempstring,'_');

        end;
Er gibt mir immer wenn ich die letzte Query auf dem SQL Server ausführen will eine Fehlermeldung zurück.
In diesen Fall bei der INSERT INTO (berichte) Zeile. Wenn ich die Kommentare bei der darauf folgenden Query wegmachen würde, würde mir er da einen Fehler ausgeben.

Der Fehler sagt mir das irgendwas mit der SQL-Syntax nicht stimmen soll usw.

Woran kann das liegen??????
BITTE HELFT MIR!!

MfG
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Absturz bei letzter Query

  Alt 10. Mai 2006, 12:33
Hi, mal ein Tipp am Rande, benutze immer Parameter.
André
"A programmer is just a tool which converts caffeine into code", daran wirds wohl liegen, dass ich Abends nie pennen kann

Zitat von Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic
  Mit Zitat antworten Zitat
WoGe

Registriert seit: 16. Jun 2005
Ort: Kelkheim
178 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Absturz bei letzter Query

  Alt 10. Mai 2006, 13:05
Hi

Wieviele Zeilen willst du eigentlich in diesem Query einfügen?
Versuche mal nur eine Zeile mit allen Werten einzufügen, am Besten über Parameter.

Insert into berichte (Wert1,Wert2,Wert3) values (:Param1,:Param2,:Param3) und dann nur ein ExecSQL

mfg
wo
  Mit Zitat antworten Zitat
Mayday171

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

Re: Absturz bei letzter Query

  Alt 10. Mai 2006, 13:18
was heißt Parameter? Wie deffiniert man dir?

Ich muss verschiedene Zeilen an Querys machen da ich ja mit if Bedingungen überprüfe
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Absturz bei letzter Query

  Alt 10. Mai 2006, 13:22
Zitat von Mayday171:
was heißt Parameter? Wie deffiniert man dir?
Schau mal einen Beitrag über deinem, da ist die Antwort auf deine Frage

Du musst dann nur noch die Parameter richtig angeben (siehe deine ZEOS-Kompo, hab die nie benutzt).
André
"A programmer is just a tool which converts caffeine into code", daran wirds wohl liegen, dass ich Abends nie pennen kann

Zitat von Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic
  Mit Zitat antworten Zitat
Mayday171

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

Re: Absturz bei letzter Query

  Alt 10. Mai 2006, 13:32
Welchen Beitrag meinst du ???

Jetzt stürtzt er nicht mehr bei der ersten Query ab sondern bei der :

zquery1.SQL.Add('INSERT INTO berichte (durchlauf) VALUES ('+cutrev(tempstring,'_')+')'); Der Rückgabewert von cutrev ist ein string und die SQL Zeile ist Integer...

MfG
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Absturz bei letzter Query

  Alt 10. Mai 2006, 14:13
Zitat von Mayday171:
Welchen Beitrag meinst du ???
Den hier: http://www.delphipraxis.net/internal...=545605#545605 so sieht das mit Parametern aus. Dann musst du der Kompo nur noch sagen, welche Werte die die Parameter haben und wie die heißen. das sollte mit ParamByName gehen. Hab kein Delphi mehr drauf. Musst halt mal schauen.
André
"A programmer is just a tool which converts caffeine into code", daran wirds wohl liegen, dass ich Abends nie pennen kann

Zitat von Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic
  Mit Zitat antworten Zitat
Mayday171

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

Re: Absturz bei letzter Query

  Alt 10. Mai 2006, 14:31
Ich glaube es liegt daran das es einfach zu schnell geht...
Habe grad gemerkt das er erst nach dem 2. Durchlauf der While Schleife abrotzt und das mir folgender Fehlermeldung (siehe Anhang).
Ich schließe daraus, dass wenn er den ersten Durchlauf bzw. den ersten Eintrag ohne Probleme mach mit meinen SQL Befehlen alles in Ordnung sein muss. Woran liegt es das das Prog trotzdem abstürtzt?? Muss ich dieses ExecSQL irgendwie wieder lösen oder leeren bzw. schließen ???

Delphi-Quellcode:
while tempstring<>'do
        begin
          // überprüfung auf Fehlerbericht
          if (cutrev(tempstring,'_')='ERROR') xor (cutrev(tempstring,'_')='OK') then
          begin
            zquery1.SQL.Add('INSERT INTO berichte (status) VALUES ("'+cutrev(tempstring,'_')+'")');

          end

          // überprüfen auf Durchlaufnummer
          else if ((length(cutrev(tempstring,'_'))=1) xor (length(cutrev(tempstring,'_'))=2)) and not (cutrev(tempstring,'_')='0') then // überprüfen auf Durchlaufnummer
          begin
            zquery1.SQL.Add('INSERT INTO berichte (durchlauf) VALUES ('+cutrev(tempstring,'_')+')');


          end

          // Überprüfen auf Produktnummer
          else if (length(cutrev(tempstring,'_'))>3) or (cutrev(tempstring,'_')='0') then
          begin
            zquery1.SQL.Add('INSERT INTO berichte (produktnummer) VALUES ('+cutrev(tempstring,'_')+')');

          end

          // Rest der Namens
          else if not ((cutrev(tempstring,'_'))='') and not ((cutrev(tempstring,'_'))=' ') then
          begin
            zquery1.SQL.Add('INSERT INTO berichte (name) VALUES ("'+cutrev(tempstring,'_')+'")');

          end;
          // Zeit eintragen
          //zquery1.SQL.Add('INSERT INTO berichte (zeit) VALUES ("'+datetimetostr((FileDatetoDatetime(fileage(filelistbox1.Directory+'\'+listbox1.Items[j]))))+'")');
          tempstring:=cut(tempstring,'_');
          zquery1.ExecSQL;
        end;
MfG
Miniaturansicht angehängter Grafiken
unbenannt_139.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Absturz bei letzter Query

  Alt 10. Mai 2006, 14:39
Mach mal ein Clear, bevor du dein neues SQL-Statement hinzufügst und bau das mal mit den Parametern ein
André
"A programmer is just a tool which converts caffeine into code", daran wirds wohl liegen, dass ich Abends nie pennen kann

Zitat von Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic
  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 20:11 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