# Schon wieder ein SQL Problem



## phr33k (23. Jan 2009)

Hi

habe ein Problem mit ner SQL Anfrage...
Ich will meiner Anfrage 2 Strings übergeben (hier firstName und lastName). Anschließend wird die Anfrage abgeschickt und soll die passende Zeile aus der Datenbank "holen"


```
public void loadByName (String firstName, String lastName){
		String query = "SELECT * FROM teacher WHERE firstName='{"+firstName +"}' AND lastName='{"+ lastName +"}'";
		ResultSet result = sqlConn.executeQueryWithResult(query);
		try {
			while(result.next()) {
				firstName = result.getString("firstName");
				lastName = result.getString("lastName");
				passwordHash = result.getString("passwordHash");
				admin = result.getBoolean("isAdmin");
				id = result.getInt("id");
			}
		} catch (SQLException ex) {
			ex.printStackTrace();
			new ProgramError("Mysql - Fehler", "Es ist ein Fehler bei der Verbindung zur Datenbank aufgetreten.\n\nFehler:\nSQLException: " + ex.getMessage() + "\nSQLState: " + ex.getSQLState() + "VendorError: " + ex.getErrorCode());
		}
	}
```

Ist irgendetwas an dem Query falsch? Wenn ich nämlich zB firstName ausgeben will steht da null.

Gruß Patrick


----------



## SlaterB (23. Jan 2009)

zunächstmal die Parameter überprüfen, dann schauen was in der Datenbank steht,

was sollen diese komischen Klammern, gibst wirklich einen Vornamen "{Thomas}" in der Datenbank?!

was bedeutet
> Wenn ich nämlich zB firstName ausgeben will steht da null. 

wo passiert das, eine Ausgabe fehlt im Code, es gibt keine Rückgabewerte?

nachdem die Eingaben usw. geprüft sind, ist die erste Aufgabe, die Anzahl der Ergebnisse festzustellen,
füge eine Test-Ausgabe in die while-Schleife ein und prüfe, ob die erscheint


----------



## phr33k (23. Jan 2009)

Ist das mit den Klammern mist? Ging unter PHP auch so... Und die Querys sind doch die selben oder nicht? Ohne Klammern gehts jetzt! 
Habe nämlich noch nen anderen Fehler gefunden. Die Klassenvariablen heißen wie die Parameter. Und wenn ich dann das this. vergesse kann das ja nicht klappen, da nur die Parameter geändert werden.
Wenn ich das zum testen in der Funktion ausgegeben hätte wäre mir das vielleicht aufgefallen.

Danke für die schnelle Antwort.

Gruß Patrick


----------

