SQL Statement mit Switch-Case funktioniert nicht

Hallo,

habe folgenden Code:

Java:
       String feldOperator;

	switch (operator) {
			case "eq":
				feldOperator = " = " + fielddata;
				break;
			case "ne":
				feldOperator = " != " + fielddata;
				break;
			case "lt":
				feldOperator = " < " + fielddata + "";
				break;
			case "gt":
				feldOperator = " > " + fielddata + "";
				break;
			case "le":
				feldOperator = " <= " + fielddata + "";
				break;
			case "ge":
				feldOperator = " >= " + fielddata + "";
				break;
			case "nu":
				feldOperator = " = ";
				break;
			case "nn":
				feldOperator = " != ";
				break;
			case "in":
				feldOperator = " IN (" + fielddata + ")";
				break;
			case "ni":
				feldOperator = " NOT IN " + fielddata + "";
				break;
			case "bw":
				feldOperator = " LIKE " + fielddata + "%";
				break;
			case "bn":
				feldOperator = " NOT LIKE " + fielddata + "%";
				break;
			case "ew":
				feldOperator = " LIKE %" + fielddata + "";
				break;
			case "en":
				feldOperator = " NOT LIKE %" + fielddata + "";
				break;
			case "cn":
				feldOperator = " LIKE %" + fielddata + "%";
				break;
			case "nc":
				feldOperator = " NOT LIKE %" + fielddata + "%";
				break;
			case "to":
				feldOperator = " < " + fielddata + "";
				break;
			case "fr":
				feldOperator = " > " + fielddata + "";
				break;
			default:
				feldOperator = "";
				break;
			}
			if (feldOperator != "") {

				map.put(field, feldOperator);
				System.out.println(map);

			}
			if (map.size() > 0) {
				where += (" " + groupOp + " " + map); // AND 'ID'(fieldName)
														// LIKE(fieldOperation)
														// fieldData;
				System.out.println("In der WHERE: " + where);
			}
			else
			{
				where = "";
				System.out.println("In der WHERE_1: " + where);
			}


Gebe ich WHERE in der Konsole aus so erhalte ich diese Syntax:

In der WHERE: where AND {Nachname= = a}


sprich ich erhalte 2 gleichheitszeichen.

Würde ich bspw. UNGLEICH wählen so würde da stehen:

In der WHERE: where AND {Nachname= != a}[/B]

Was muss ich tun, damit ich also das erste Gleichheitszeichen wegbekomme?


Vielen Dank
 
Zuletzt bearbeitet:

Deros

Bekanntes Mitglied
ich würde schätzen groupOp ist ein String mit dem Wert "and".

Interessant fand ich im ersten Moment die geschweiften Klammern, bis mir klar wurde das die von der Map kommen.
Du rufst dort ja eigentlich dann die toString() Methode von einer HashMap(?) auf. Die in dem Moment nur einen eintrag hat.
field mit dem Wert "Nachname" und feldOperator mit "= a". Die HashMap gibt als String immer etwas im Format {"Key"="Value"}zurück und daher kommt auch dein zusätzliches Gleichheitszeichen.

Was hast du überhaupt mit der Map vor? Sobald du mehr als einen Eintrag bekommst wird das doch dann eh Kraut und Rüben....
 
Hi vielen Dank bis dahin : )
'groupOp' beinhaltet die Operatoren.

Zur Erklärung:

Ich habe eine Tabelle worind er User einzelen Spalten durchsuchen kann.
Z.B. Vorname UND Nachname.
Bei Vorname wählt er "enthält" welchem das kürzel 'in" zugrordnet ist.
Möchte er nun also Nachname = 'Hans' und Vorname enthält 'Pe' suchen, so würde das in etwa so aussehen:

"Where Nachname = 'Hans' AND 'Pe' IN ( Vorname )"

Das funktioniert aber gerade nicht.
Einzelne Abfragen sind kein Problem jedoch die Verkettung
 
Zuletzt bearbeitet:

Deros

Bekanntes Mitglied
Was hast du mit der map denn überhaupt vor? Ich könnte dir jetzt zeigen was mit einer Map geht, aber ich weiß ja nicht was du damit wirklich vor hast. Aus irgendeinem Grund machst du ja nicht einfach

Java:
where += (" " + groupOp + " " + field + feldOperator);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Statement läuft ewig Datenbankprogrammierung 14
T SQL-Statement Datenbank nach SQL Statement schließen? Datenbankprogrammierung 7
Kotelettklopfer SQLite Verhindern von doppelter Statement Ausführung Datenbankprogrammierung 25
L SQL-Statement SQL Statement doppelte Einträge finden Datenbankprogrammierung 9
C MySQL SQL Statement wir nicht ausgeführt Datenbankprogrammierung 11
G Datenbank Statement Datenbankprogrammierung 22
Dimax Erstellen ResultSet und Statement Datenbankprogrammierung 30
B MySQL Umkreissuche - brauche Hilfe bei SQL Statement Datenbankprogrammierung 12
M CSV Import - Dynamisches SQL Statement Datenbankprogrammierung 15
D Wiederverwendung / Recycling / Queuing von Statement Objekten Datenbankprogrammierung 1
D SQL Statement gesucht... Datenbankprogrammierung 15
J JDBC SQL Statement mit Parameter Datenbankprogrammierung 7
F Dynamischen String in SQL Statement einbinden Datenbankprogrammierung 9
U PostgreSQL SELECT Statement Datenbankprogrammierung 5
A Problem mit Create-Statement Datenbankprogrammierung 9
LadyMilka MySQL Syntaxfehler im Statement Datenbankprogrammierung 3
A JDBC Prepared Statement Autoincrement Datenbankprogrammierung 3
P SQL-Statement Bei meinem Statement ist ein Fehler? Datenbankprogrammierung 2
P sql statement alter table foreign key Datenbankprogrammierung 4
T sql Statement Datenbankprogrammierung 9
B JDBC MySQL Statement Datenbankprogrammierung 3
A Sql Statement - Alle Zahlen größer 9 Datenbankprogrammierung 3
F Sql Statement Datenbankprogrammierung 12
A SQL-Statement prüfen Datenbankprogrammierung 3
W Statement als Klassenvariable Datenbankprogrammierung 27
I Select-Statement optimieren Datenbankprogrammierung 14
D SQLite Statement nimmt keine Namen aus getter-Methoden Datenbankprogrammierung 11
alex_fairytail MySQL SQL Statement Delete zwischen Datum1 und Datum2 Datenbankprogrammierung 5
M Access Update Statement Fehler update -> unmöglich? Datenbankprogrammierung 3
R Derby/JavaDB LIKE Statement mit Wildcard Datenbankprogrammierung 20
N Update Prepared Statement Fehler bei Argumenten Datenbankprogrammierung 3
R Select Statement als temporärer Table Datenbankprogrammierung 7
R Derby/JavaDB Select Statement Where bedingung will nicht ganz! Datenbankprogrammierung 4
R Derby/JavaDB Select TOP Statement geht nicht Datenbankprogrammierung 3
S Null Pointer exception statement Datenbankprogrammierung 8
R Derby/JavaDB Insert Statement Probleme Datenbankprogrammierung 14
K statement.execute liefert false Datenbankprogrammierung 6
C PostgreSQL Prepared Statement Datenbankprogrammierung 7
N Prepared Statement mit unbekannter Anzahl von Where-Clauses Datenbankprogrammierung 30
S SQL Statement: executeUpdate Datenbankprogrammierung 15
F wie funktioniert if Statement in SELECT? Datenbankprogrammierung 2
T MySQL PreparedStatement mit INSERTs langsam, Batch-Statement auch Datenbankprogrammierung 4
M MySQL größere von zwei Zahlen in Update Statement Datenbankprogrammierung 2
J [Hibernate] Select Statement Datenbankprogrammierung 4
S HSQLDB DELETE-Statement funktioniert nicht Datenbankprogrammierung 4
L MySQL Prepared Statement batch langsamer als bulk insert? Datenbankprogrammierung 10
L MySQL Kann Statement nicht erzeugen Datenbankprogrammierung 5
T Komme mit dem SQL Statement nicht weiter Datenbankprogrammierung 5
D MySQL Client - Server: Client verabschiedet sich sobald ich Variablen im SQL Statement verwende Datenbankprogrammierung 9
F Frage zu Prepared Statement Datenbankprogrammierung 2
T java.sql.SQLException: unexpected end of statement Datenbankprogrammierung 2
J SQL-Statement Datenbankprogrammierung 10
U MSSQL Verbindung steht, aber meckert beim Statement Datenbankprogrammierung 2
S executeBatch result immet mit Statement.SUCCESS_NO_INFO Datenbankprogrammierung 4
G Frage zum Insert-Statement Datenbankprogrammierung 2
J JDBC- Statement Ausführung nicht persistent Datenbankprogrammierung 2
A Connection Variable in anderer Klasse verwenden -> statement Datenbankprogrammierung 2
D Problem: Prepared Statement (Insert) funktioniert nicht. Datenbankprogrammierung 3
G Mit Prepared Statement in MDB schreiben Datenbankprogrammierung 7
Z DELETE-Statement Datenbankprogrammierung 6
W Prepared Statement und Verbindungsverlust Datenbankprogrammierung 4
G INSERT-STATEMENT Datenbankprogrammierung 6
alexpetri hsql statement problem Datenbankprogrammierung 3
W invalid sql statement ? Datenbankprogrammierung 3
S Probleme mit statement.close() Datenbankprogrammierung 10
G Wie ein SQL-Statement zusammensetzen? Datenbankprogrammierung 5
T Select Statement auf Relation Datenbankprogrammierung 3
S Connection/Statement/ResultSet auf einmal geschlossen Datenbankprogrammierung 8
G MsSQL | Statement.execute(String s) Datenbankprogrammierung 3
W Prepared Statement mehrere Zeichenketten Datenbankprogrammierung 4
G Keine Aussicht mit Prepared Statement Datenbankprogrammierung 10
G Für jede SQL-Abfrage eigenes Statement und ResultSet? Datenbankprogrammierung 3
C Statement/Connection SQLWarning Datenbankprogrammierung 4
J sql-statement Datenbankprogrammierung 7
G Update Statement automatisch unterteilen lassen Datenbankprogrammierung 3
P Prepared Statement scheint nicht zu funktionieren Datenbankprogrammierung 14
T SQL-Statement parser? Datenbankprogrammierung 11
N Prepared Statement Datenbankprogrammierung 8
G Problem mit Suchen Statement Java und MS-SQL-Server Datenbankprogrammierung 9
J SELECT-Statement Datenbankprogrammierung 4
S Statement.getGeneratedKeys() funktioniert nicht Datenbankprogrammierung 4
G Problem mit Delete-Statement Datenbankprogrammierung 3
L mehrere Abfragen mit einem Statement!? Datenbankprogrammierung 5
E Problem mit create-Statement Datenbankprogrammierung 5
E SQL-Statement um eine Nummer in der Datenbank zu suchen Datenbankprogrammierung 3
T SQL-Statement case when then klappt nicht Datenbankprogrammierung 4

Ähnliche Java Themen


Oben