Seite 1 von 1
Parameter-Abfrage in MYSQL
Verfasst: So, 26.01.2014 22:34
von dirkolb
Hallo,
habe Datenbank nach mehreren Daten-Verlusten von HSQL auf MYSQL umgestellt, aber viele Funktionen sind anders
In HSQL funktioniert die unvollständige Parameter-Abfrage,:
Code: Alles auswählen
SELECT `Kunde`, `Artikel`, `Modell` FROM `Artikel-Tabelle` WHERE `Kunde` = ( :qKunde || '%' )
in MYSQL bekomme ich nach langem Suchen, vielen Lesen und probieren, entweder alle oder keine Datensätze angezeigt,
aber nicht die laut Parameter.
Wo liegt mein Fehler?
Danke
Dirk
Re: Parameter-Abfrage in MYSQL
Verfasst: Mo, 27.01.2014 08:41
von pmoegenb
Hallo Dirk,
es ist unwahrscheinlich, dass Dein Beispiel-Code mit HSQLDB funktioniert.
Ersetze in der WHERE-Klausel das Zeichen = durch LIKE. Ob die Klammern beim Parameter für MySQL erforderlich sind, kann ich nicht beurteilen, da ich andere Datenbanken verwende und z. B. bei Firebird nicht erforderlich sind.
Re: Parameter-Abfrage in MYSQL
Verfasst: Mo, 27.01.2014 13:10
von dirkolb
Hallo,
Danke erstmal, der Code war schon auf MYSQL umgeschrieben.
Die Abfrage funktioniert jetzt schon, aber ich muß den kompletten, richtigen Kundennamen in der Abfrage eingeben
Code: Alles auswählen
SELECT `Kunde`, `Artikel`, `Modell` FROM `Artikel-Tabelle` WHERE `Kunde` LIKE :qKunde || '%
Das letzte Stück vom Code (|| '%') , man braucht bei der Abfrage nur die Anfangsbuchstaben als Parameter eingeben,
gibt es sowas Für MYSQL auch?
Ich finde dazu nichts...
Danke Dirk
Re: Parameter-Abfrage in MYSQL
Verfasst: Mo, 27.01.2014 16:17
von RobertG
Hallo Dirk,
die Verbindung von einzelnen Inhalten über || funktioniert mit MySQL nicht. Du brauchst CONCAT.
Code: Alles auswählen
SELECT `Kunde`, `Artikel`, `Modell` FROM `Artikel-Tabelle` WHERE `Kunde` LIKE CONCAT(:qKunde , %)
Gruß
Robert
Re: Parameter-Abfrage in MYSQL
Verfasst: Mo, 27.01.2014 18:05
von dirkolb
Hallo,
so funktionierts, das % noch in die Strichlein und es geht
Code: Alles auswählen
SELECT `Kunde`, `Artikel`, `Modell` FROM `Artikel-Tabelle` WHERE `Kunde` LIKE CONCAT (:qKunde , '%')
Vielen Dank für die Hilfe
Dirk