Author | Topic: Fehler bei SQL WHERE | |
---|---|---|
Jan Escholt | Fehler bei SQL WHERE on Sat, 25 Apr 2015 16:22:35 +0200 Der folgende Code führt zu einem Laufzeitfehler: Use adressen NEW cName := adressen->name SELECT * FROM adressen WHERE name = cName Ergibt Fehlermeldung: Xbase++ Version : Xbase++ (R) Version 2.00.575 Betriebssystem : Windows 7 06.01 Build 07601 Service Pack 1 ------------------------------------------------------------------------------ oError:args : -> VALTYPE: U VALUE: NIL oError:canDefault : J oError:canRetry : N oError:canSubstitute: J oError:cargo : NIL oError:description : No such column: cName [S1] oError:filename : oError:genCode : 9002 oError:operation : USQLSTATEMENT:QUERY oError:osCode : 0 oError:severity : 2 oError:subCode : 1 oError:subSystem : Local SQL oError:thread : 1 oError:tries : 0 Wie kann ich ein WHERE mit einem Variableninhalt ausführen? Jan | |
Hubert Brandel | Re: Fehler bei SQL WHERE on Tue, 28 Apr 2015 08:36:09 +0200 Ich habe mit einem Beispiel experimentiert und habe wie JAN das Problem, dass der Suchbegriff eben NICHT im Quellcode schon bekannt ist, sondern zur Laufzeit per Variable ermittelt werden muss. Wie geht das ? Aber auch mit der direkten Eingabe bekomme ich nicht das was ich erwarte. Die erste Zeile stammt von einem Beispiel von Alaska, dessen Feldnamen ich kürze damit es hier besser aussieht: SELECT f1, f2, f3 FROM db WHERE f2 < 200 INTO OBJECTs aObjs funktioniert wunderbar, nun suche ich nach einem bestehenden Inhalt: SELECT f1, f2, f3 FROM db WHERE f2='Icebear' INTO OBJECTs aObjs ergibt wie erwartet genau 1 Treffer, OK ! nun mit Suchbegriff in Kleinschreibung SELECT f1, f2, f3 FROM db WHERE lower(f2)='icebear' INTO OBJECTs aObjs ergibt wie erwartet genau 1 Treffer, OK ! nun mit Teilstringsuche SELECT f1, f2, f3 FROM db WHERE left(lower(f2),3)='ice' INTO OBJECTs aObjs KEIN TREFFER ! Warum nicht ? SQL Syntax ? SELECT f1, f2, f3 FROM db WHERE f2 LIKE 'Ice%' INTO OBJECTs aObjs KEIN TREFFER ! Warum nicht ? WIE DANN ????? Und das wie gesagt mit Variablen im Suchbegriff. Am Besten gleich als Objektaufruf ... | |
Hubert Brandel | Re: Fehler bei SQL WHERE on Thu, 13 Aug 2015 11:16:53 +0200 Hallo Alaska, ein SQL Aufruf ohne Parameterübergabe in Variablen ist wenig nützlich. Wie geht das ? |