Exception ResultSet

Tolga66

Mitglied
Hallo Leutz,

wieso kriege ich an der Stelle ResultSet rs = stmt.executeQuery(query); eine SQLException`? ???:L

Java:
public User returnUser(String k, String p, User user) {
		try {
			String query = "SELECT User_ID, Name, Vorname, Kürzel, Rolle_ID, Passwort, Email FROM user " +
			 "WHERE kürzel = "+ k + " AND Passwort = " +p;
			stmt = jbdbcontroller.getDbstatement();
//			PreparedStatement pstmt = jbdbcontroller.getDbconnection().prepareStatement(
//					"SELECT User_ID, Name, Vorname, Kürzel, Rolle_ID, Passwort, Email FROM user " +
//					 "WHERE kürzel = "+ k + " AND Passwort = " +p);
			
			ResultSet rs = stmt.executeQuery(query);
			System.out.println(rs.toString());
			while(rs.next()) {
				user.setUserID(rs.getInt("User_ID"));
				user.setName(rs.getString("Name"));
				user.setVorname(rs.getString("Vorname"));
				user.setKuerzel(rs.getString("Kürzel"));
				user.setRolle(rs.getInt("Rolle_ID"));
				user.setPasswort(rs.getString("Passwort"));
				user.setEmail(rs.getString("Email"));
			}
		}catch(SQLException ex) {
			System.err.println("SQL Exception beim Lesen der Daten in der Datenbank");
			ex.printStackTrace();
		}
		return user;
		}
 
und was steht in den Parametern, Strings gehören in einfache Anführungszeichen,
besser noch PreparedStatements, dann dazu weniger Sorgen
 
ich kriege diese Exception
SQL Exception beim Lesen der Daten in der Datenbank
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'talt' in 'where clause'


Dabei habe ich ein FELD Kürzel mit dem Value talt in der Datenbank. Sprich er findet sogesehen die
Spalte nicht und weist meinem User Objekt null values ein.
 
Die Parameter sind richtig.. ich rufe von einer anderen Klasse die Methode so auf:
user = dao.returnUser(request.getParameter("kuerzel"), request.getParameter("password"), user);

Die Parameterdaten nimmt er aus einer HTML Datei.
Zum testen habe ich die Parameter noch auf der Konsole ausgegeben mit System out.

System.out.println(request.getParameter("kuerzel"));
System.out.println(request.getParameter("password"));

Sieht wie folgt in der Konsole aus:
talt
123456
 
Ich hab mein FEHLER geeeeeefunden......................................
Habe vergessen bei der Query talt in Gänsefüßchen zu setzeeeen 😀
'talt'

Vielen dank!
 

Neue Themen


Zurück
Oben