AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Query wird nicht vom Programm ausgeführt
Thema durchsuchen
Ansicht
Themen-Optionen

Query wird nicht vom Programm ausgeführt

Ein Thema von Ykcim · begonnen am 12. Mär 2013 · letzter Beitrag vom 13. Mär 2013
 
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
804 Beiträge
 
Delphi 10.4 Sydney
 
#1

Query wird nicht vom Programm ausgeführt

  Alt 12. Mär 2013, 14:40
Datenbank: MySQL • Version: 5 • Zugriff über: UniDac
Hallo Zusammen,

ich bin gerade etwas verwirrt, weil ich das Verhalten meines Programms nicht nachvollziehen kann. Ich hoffe, dass Ihr mir sagen könnt, was da schief geht.

Ich baue in einer Procedure eine Query zusammen, die ich dann ausführe.
Delphi-Quellcode:
Query.SQL.Clear;
            Query.SQL.Add('select * from prozess_position '+
                          ' where status<>100 and (Eckpunkt_ID='+Link[0]); //Link ist ein Array
            for J:=1 to Length(Link) -1 do begin //Für jede Abhängigkeit die Where Bedingung
               WhereQuery:=WhereQuery+' or Eckpunkt_ID='+Link[J] ;
            end;
            WhereQuery:=WhereQuery+')';
            Query.SQL.Add(WhereQuery);
            Query.Open;
Das hat auch wunderbar geklappt, bis ich drei Bedingungen hinzugefügt habe.

and Positionen_ID='+Rows1[1,I] and rueckm=1 and relevant=1

Das Ganze sieht dann so aus:
Delphi-Quellcode:
Query.SQL.Clear;
            Query.SQL.Add('select * from prozess_position '+
                          ' where status<>100 and (Eckpunkt_ID='+Link[0]);
            for J:=1 to Length(Link) -1 do begin //Für jede Abhängigkeit die Where Bedingung
               WhereQuery:=WhereQuery+' or Eckpunkt_ID='+Link[J] ;
            end;
            WhereQuery:=WhereQuery+') and Positionen_ID='+Rows1[1,I]+
                                   ' and rueckm=1 and relevant=1';
            Query.SQL.Add(WhereQuery);
            Query.Open;
Das Problem ist, dass mein Programm einfach garnichts mehr macht - keine Fehlermeldung, keine Reaktion und die Uhr bleibt stehen.
Wenn ich dann den SQL-Text bei Query.open; abfange und die Anweisung auf dem MySQL-Server direkt ausführe, bekomme ich das Ergebnis in 0,001 Sek.

Delphi-Quellcode:
select * from prozess_position where status<>100
and Positionen_ID=313
and rueckm=1
and relevant=1
and (Eckpunkt_ID=8 or Eckpunkt_ID=9 or Eckpunkt_ID=12)
Hat irgendjemand eine Idee, warum mein Programm mit dem SQL-Statement nicht klarkommt, obwohl der MySQL-Server so gar keine Probleme damit hat?

Viele Dank
Patrick
Patrick

Geändert von Ykcim (12. Mär 2013 um 15:36 Uhr)
  Mit Zitat antworten Zitat
 


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 01:58 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