MySQL SQL Abfrage Problem

matschi

Mitglied
Hallo allerseits,

ich habe ein Problem, an dem ich schon ein bisschen länger sitze.

Ich schreibe ein Programm, womit man aus einer Datenbank Mitarbeiter auslesen kann (und auch später eintragen soll). Es gibt einmal eine GUI Klasse und eine Datenbankklasse. Mit Xampp simuliere ich eine MySQL-Datenbank in welcher eine Mitarbeitertabelle ist, in der 6 Spalten sind (davon 2 Integerspalten).

Erst wird auf Buttonklick ein Textfeld ausgelesen und gepfüft, ob der eingegebene Text eine Integer ist. Wenn es keine Zahl ist, wird ein Text anstatt eine Zahl übergeben.

Java:
public void actionPerformed(ActionEvent e) {
        if(e.getSource()==search){
			boolean ja = isNumeric(t1.getText());
			DataBase db = new DataBase();
			if(ja==true){
				int nummer = Integer.parseInt(t1.getText());
				db.abfragekurznr(nummer);
			}else{
				db.abfragekurztext(t1.getText());
			}
		}


An diese Methode (in der Klasse DataBase) werden die Parameter übergeben und die Datenbank abgefragt:

Java:
public void abfragekurznr(int a){
		
		int zahl = a;
		try{
			DriverManager.registerDriver(new com.mysql.jdbc.Driver());
			con = DriverManager.getConnection("jdbc:mysql://localhost/javatest", "root", "");
			stmt = con.createStatement();
			
			rs = stmt.executeQuery("SELECT * FROM mitarbeiter WHERE ('ID' = "+zahl+" OR 'Alter' = "+zahl+")");
			
			while (rs.next()){
				System.out.println("ID:          "+rs.getString(1));
				System.out.println("Vorname:     "+rs.getString(2));
				System.out.println("Nachname:    "+rs.getString(3));
				System.out.println("Alter:       "+rs.getString(4));
				System.out.println("Adresse:     "+rs.getString(5));
				System.out.println("Bereich:     "+rs.getString(6));
				
			}
			stmt.close();
			con.close();
			
		}catch(SQLException e){
			e.printStackTrace();
		}
	}

Ich hab noch Parallel eine Abfrage (wie oben schon erwähnt), bei der Text übergeben wird, welche auch funktioniert. Nur wenn eine Zahl übergeben wird funktioniert gar nichts.

Ist da irgendwo ein Fehler in meiner SQL Abfrage oder in meinem Code?
 

homer65

Top Contributor
Muß ja wohl, sonst würde es doch funktionieren. :)
Sorry für den blöden Kommentar.
Aber ernsthaft. Was genau heißt denn "funktioniert gar nichts".
Mit so einer Aussage kann leider niemand etwas anfangen. Besser wäre es die Fehlermeldung zu posten. Und zwar exakt so, wie du sie bekommst.
Einen Tipp möchte ich noch loswerden: Benutze doch für die Abfrage ein PreparedStatement auch wenn es nicht unbedingt was mit dem Problem zu tun hatt.
 

matschi

Mitglied
Das seltsame ist halt, dass keine Fehlermeldung erscheint. Für Eclipse ist wohl alles in Ordnung

Das mit dem PreparedStatement ist übrigens ein guter Vorschlag, Danke!
 
Zuletzt bearbeitet:
C

Camino

Gast
Das seltsame ist halt, dass keine Fehlermeldung erscheint.

Wenn keine Fehlermeldung erscheint aber trotzdem
Code:
funktioniert gar nichts
, könnte es ja auch sein, dass die SQL-Anweisung einfach kein Ergebnis liefert, also nix findet (das ResultSet leer ist).

Aber wenn ich mir deinen Code anschaue, finde ich so einige Fehler (bestimmt nicht vollständig):

Mit Xampp simuliere ich eine MySQL-Datenbank in welcher eine Mitarbeitertabelle ist, in der 6 Spalten sind (davon 2 Integerspalten).

Wieso simulieren? Die Datenbank ist bei XAMPP doch tatsächlich vorhanden.
Du schreibst, dass von den 6 Spalten 2 mit Integerwerten sind, fragst aber in deinem ResultSet nur nach Strings.

Du hast eine Methode
Code:
public void abfragekurznr(int a)
, die nur Integer als Parameter annimmt, rufst sie aber auch mit einem String auf (spätestens da müsste es doch eine Fehlermeldung geben):

Java:
if(ja==true){
                int nummer = Integer.parseInt(t1.getText());
                db.abfragekurznr(nummer);
            }else{
                db.abfragekurztext(t1.getText());
            }

Und dann noch der SQL-Code:

Java:
rs = stmt.executeQuery("SELECT * FROM mitarbeiter WHERE ('ID' = "+zahl+" OR 'Alter' = "+zahl+")");

Abgesehen davon, ob die Schreibweise mit den einfachen Anführungszeichen so richtig ist (bin mir da nicht sicher, aber am besten mal das SQL-Statement ausgeben lassen und mit einem anderen Tool testen), sollte man doch vorher wissen, ob die übergeben Zahl, welche man in der Datenbank mit WHERE sucht, die ID oder das Alter sein soll. Vielleicht musst du das grundsätzlich nochmal überlegen und verbessern.
 
Zuletzt bearbeitet von einem Moderator:
M

Marcinek

Gast
Die apastrophe sind falsch. Damit sind das strings und nicht mehr Felder

Die apostrophe, die du hier nutzen kannst um Felder anzuzeigen sind so schief. Ich kann sie auf dem tabled gerade nicht machen. Sie sind auch nicht notwendig
 

matschi

Mitglied
Hey Leute,

mein Programm funktioniert. Die Apostrophe waren tatsächlich falsch, da ich nicht auf die Idee gekommen bin, schräge zu nehmen.

Danke für die Hilfe!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Bluedaishi MySQL Abfrage Problem :-) Datenbankprogrammierung 21
C MySQL Problem mit UPDATE Abfrage Datenbankprogrammierung 13
C Problem mit SQL-Abfrage Datenbankprogrammierung 5
J sql abfrage ... Problem mit Datumswert Datenbankprogrammierung 3
D Problem mit Access abfrage Datenbankprogrammierung 10
S Problem bei MySql abfrage Datenbankprogrammierung 11
4 Abfrage-Problem (sql) Datenbankprogrammierung 11
A Problem mit getString und if abfrage Datenbankprogrammierung 5
R Problem mit MySQL-Abfrage Datenbankprogrammierung 36
M [MYSQL] Problem mit Connection und Abfrage Datenbankprogrammierung 6
B Wie kann ich eine Jtable mit Inhalt einer SQL Abfrage füllen Datenbankprogrammierung 14
J SQLite Abfrage fehlerhaft - komme nicht weiter - please help. Datenbankprogrammierung 3
L PostgreSQL Abfrage mit EclipseLink Datenbankprogrammierung 7
S Berechnung des Datumsunterschieds in der SQL-Abfrage Datenbankprogrammierung 1
Zrebna Probleme bei Überführung von SQL-Code in eine HQL-Abfrage Datenbankprogrammierung 3
btwX28 mysql abfrage über phpmyadmin Datenbankprogrammierung 8
M Alle Records Felder kriegen für DB Abfrage Datenbankprogrammierung 14
pkm PostgreSQL Kann mit mybatis einen Parameter für eine postgreSQL-Abfrage nicht übergeben. Datenbankprogrammierung 5
nonickatall MySQL SQL Abfrage erneut ausführen oder rs aktualisieren Datenbankprogrammierung 14
Kirby.exe Verständnisproblem bei SQL Abfrage Datenbankprogrammierung 27
N SQL-Abfrage in JTextField ausgeben Datenbankprogrammierung 6
N java sql abfrage bestimmer Datumszeitraum Datenbankprogrammierung 9
F Mapping einer SQL Abfrage in eine Klasse Datenbankprogrammierung 4
N Java Abfrage über GUI, Daten hinzufügen Datenbankprogrammierung 54
Bluedaishi Datenbank Abfrage Datenbankprogrammierung 36
W MySQL DB Abfrage in Array, gemischte Array, generelles vorgehen Datenbankprogrammierung 4
D SQL Abfrage optimieren Datenbankprogrammierung 35
D MySQL Abfrage Datenbankprogrammierung 5
D MySQL Abfrage sortieren Datenbankprogrammierung 4
D MySQL Abfrage SUM datediff Datenbankprogrammierung 3
D Regelmäßige Abfrage aus Workbench Datenbankprogrammierung 6
M SQL-Statement Hilfe bei SQL-Abfrage Datenbankprogrammierung 2
D Abfrage - Spalte(Datum) ändern (Oracle) Datenbankprogrammierung 7
D Datenbank Abfrage Datenbankprogrammierung 7
H MySQL Benutzer Login System mit Datenbank Informationen (Abfrage zu User ist auf DB gesichert) Datenbankprogrammierung 42
D MySQL Abfrage mit kumulierten Werten Datenbankprogrammierung 16
M MySQL Anbindung und Abfrage an die Datenbank Datenbankprogrammierung 2
RowdyN SQLite Einfache Abfrage mit temporäre Tabelle, die nur innerhalb der Abfrage gültig ist Datenbankprogrammierung 0
E Abfrage auf HSQLDB Datenbankprogrammierung 4
M MySQL SQL Abfrage in JTable mit Berechnung Datenbankprogrammierung 3
S Abfrage von Gruppentickets(Mehrere Resorts an einem Tag) Datenbankprogrammierung 1
S SQL Abfrage Datenbankprogrammierung 2
F Abfrage der letzten Einträge Datenbankprogrammierung 2
J SELECT Abfrage/Suche Datenbankprogrammierung 4
U SQLite Für mich etwa komplexe Abfrage via 2 Tabellen Datenbankprogrammierung 5
OnDemand SQL Abfrage und Equals Datenbankprogrammierung 4
B MySQL MySQL-Abfrage von aufsummierter Zeit Datenbankprogrammierung 3
M MySQL MySQLSyntaxError in Java, obwohl Abfrage in HeidiSQL korrekt Datenbankprogrammierung 2
ruutaiokwu sql abfrage mit rekursion, mit oder ohne cte... Datenbankprogrammierung 5
J SQLite Abfrage ausführen stoppt für Zyklus? Wie es zu lösen? Datenbankprogrammierung 3
L JSONArray/JSONObject MySQL-Servlet Abfrage Datenbankprogrammierung 2
H Derby: SYSCS_UTIL.SYSCS_EXPORT_QUERY mit String Abfrage in wehre-Klausel nicht möglich Datenbankprogrammierung 3
L SQL-Abfrage bricht vor dem Ende ab Datenbankprogrammierung 2
S MySQL Abfrage über mehrere Tabellen + Einträge werden überschrieben Datenbankprogrammierung 1
M Derby/JavaDB Komplexe Abfrage vereinfachen Datenbankprogrammierung 2
S SQL-Abfrage, Filewriter .txt Datei Datenbankprogrammierung 2
P Datenbank- Abfrage mit null'en Datenbankprogrammierung 2
D MySQL Erstellen der richtigen Abfrage Datenbankprogrammierung 3
D MySQL DB Abfrage Prüfen Datenbankprogrammierung 10
D JDBC insert mit select abfrage Datenbankprogrammierung 5
E PostgreSQL Exception too ...many clients already bei DB-Abfrage Datenbankprogrammierung 14
W No data found: SQL-Abfrage funktioniert nur beim Debuggen Datenbankprogrammierung 3
E Abfrage nach existierender SQL-Tabelle Datenbankprogrammierung 7
H JSON Array abfrage beschleunigen Datenbankprogrammierung 2
S MySQL Abfrage: Wenn Feld leer, alles anzeigen Datenbankprogrammierung 5
Mrtwomoon Abfrage-Ergebnisse in einem Fenster darstellen Datenbankprogrammierung 8
0 SQL Abfrage Bestellung Datenbankprogrammierung 15
G SQLite SQLite Abfrage Datenbankprogrammierung 4
C Mit jsp über Java eine DB Abfrage durchführen --> java.lang.ClassNotFoundException Datenbankprogrammierung 4
Dit_ Hibernate, effiziente SQL-Abfrage definieren Datenbankprogrammierung 5
B My-SQL Abfrage - Out Of Memory Error Datenbankprogrammierung 13
K SQLite Einfache DB-Abfrage Datenbankprogrammierung 2
C Sortierung bei SQL-Abfrage Datenbankprogrammierung 3
B Bei Abfrage schießt der Speicher in die Höhe Datenbankprogrammierung 6
M SQL Abfrage Dupliakte bei Kreuzvergleich Datenbankprogrammierung 2
M Access Abfrage mit Parameter & Access/Java liefern unterschiedliche Ergebnisse Datenbankprogrammierung 2
G SQL Abfrage Datenbankprogrammierung 5
C SQL-Abfrage Datenbankprogrammierung 4
B SQL-Abfrage Datenbankprogrammierung 4
R SQL Abfrage, je nach ausgewählten Parametern Datenbankprogrammierung 11
C Wert in SQL-Abfrage zählen lassen Datenbankprogrammierung 8
R Memory leaks bei DB Abfrage Datenbankprogrammierung 16
S Abfrage auf SQLite-DB Datenbankprogrammierung 2
I Belastet es das System zu sehr einen Timer jede 0.2 Sekunden eine DB Abfrage machen zu lassen? Datenbankprogrammierung 9
L MySQL Probleme mit PreparedStatement für SQL-Abfrage in Java Datenbankprogrammierung 2
G Abfrage von Teilnehmern Datenbankprogrammierung 4
B HSQLDB Probleme mit Select...Where Abfrage Datenbankprogrammierung 16
G JOIN Abfrage über mehrere Tabellen Datenbankprogrammierung 15
F MySQL SQL Abfrage für u.a. Spaltenname key Datenbankprogrammierung 4
G SQLite Abfrage, ob in Tabelle X Spalte Y existiert Datenbankprogrammierung 4
A MySQL Ergebnss aus SQL Abfrage in Hauptklasse verwenden Datenbankprogrammierung 3
N Geschwindigkeit bei if Abfrage Datenbankprogrammierung 11
G Performante SQL- Abfrage (LIKE %) Datenbankprogrammierung 21
G Join Abfrage Datenbankprogrammierung 12
M db abfrage fehlerhaft Datenbankprogrammierung 5
C MySQL Abfrage mit flexibler WHERE bedingung Datenbankprogrammierung 10
C Datenbank-Abfrage, if im Select Datenbankprogrammierung 9
S MySQL Frage zu LeftJoin Abfrage Datenbankprogrammierung 2
G SQL Abfrage über mehrere Tabellen Datenbankprogrammierung 28
H SQL Abfrage - zwei tabellen vergleichen. Datenbankprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben