Abfrage-Ergebnisse in einem Fenster darstellen

Mrtwomoon

Mitglied
Hello zusammen,
ich bin Anfänger mit Java deshalb entschuldigen mich wegen dumme Fragen... ;)
Ich möchte folgendes machen:
1-) DB verbinden (gemacht)
2-) mit GUI ein Fenster machen (gemacht)
3-) im Fenster name eingeben und diese in DB suchen wenn existiert dann in ein Feld ausgeben!!!
hier wenn ich eine Name eingebe und wenn diese Name existiert (egal ein oder mehrere Einträge existiert gibt nur eine davon aus.)
??? Ich will aber alle Einträge ausgeben, die dieselbe Name haben??? :(

da unten steht mein Code :oops: ich bedanke mich für Hilfe


Java:
package de.degan.mysql;

import java.awt.event.*;
import java.sql.*;
import javax.swing.*;

public class SuchInDB extends JFrame {
	JTextField 	person_suchen;
	JButton     suchen_button;
	JLabel      suche_nach;
	JTextField  ergebnis_feld;
	/*-----------  DB Variablen --------------*/
	private static Connection conn = null;
	// Hostname
    private static String dbHost = "127.0.0.1";
    // Port -- Standard: 3306
    private static String dbPort = "3306";
    // Datenbankname
    private static String database = "person";
    // Datenbankuser
    private static String dbUser = "root";
    // Datenbankpasswort
    private static String dbPassword = "java";
    

	public SuchInDB(){
		this.getContentPane().setLayout(null);

		this.initWindow();
		
		try {		 
            // Datenbanktreiber für ODBC Schnittstellen laden.
            Class.forName("com.mysql.jdbc.Driver");
 
            // Verbindung zur ODBC-Datenbank 'person' herstellen.
            conn = DriverManager.getConnection("jdbc:mysql://"+dbHost+":"+dbPort+"/"
                                                              +database+"?"+"user="+dbUser+"&"
            		                                          +"password="+dbPassword);
        } catch (ClassNotFoundException e) {
            System.out.println("Treiber nicht gefunden");
        } catch (SQLException e) {
            System.out.println("Connect nicht moeglich");
        }
	}
	
	private static Connection getInstance()
    {
        if(conn == null)
            new SuchInDB();
        return conn;
    }
	
	protected void initWindow() {
	    //elemente instanzieren 
	    person_suchen = new JTextField();
	    suchen_button = new JButton("Suchen");
	    suche_nach    = new JLabel("suche nach:");
	    ergebnis_feld = new JTextField();
	    
	    // Position festlegen in Layout
	    suche_nach.setBounds(5, 10, 100, 20);
	    person_suchen.setBounds(100, 10, 300, 20);
	    suchen_button.setBounds(410, 10, 90, 20);
	    ergebnis_feld.setBounds(5, 40, 535, 245);
	    
	    // in Layout hinzufügen
	    this.getContentPane().add(person_suchen);
	    this.getContentPane().add(suchen_button);
	    this.getContentPane().add(suche_nach);
	    this.getContentPane().add(ergebnis_feld);
	    
	    
	    // button suchen Der ActionListener ist dafür zuständig sog. ActionEvents zu empfangen
	    suchen_button.addActionListener(new ActionListener(){
	    	
	    	public void actionPerformed (ActionEvent arg0){
	    		buttonBerechneClicked();
	    	}
	    });
	    
	    
	}
	public void buttonBerechneClicked(){
		conn = getInstance();
		// Anfrage-Statement erzeugen.
		Statement query;
		try {
            query = conn.createStatement();
            
		    String name =person_suchen.getText();
		    String sql ="SELECT * FROM student WHERE Vorname = '"+name + "' OR Nachname='"+name+"'";
		    
		    ResultSet result= query.executeQuery(sql);
		//    if (result==null){                       //TODO: gib aus wenn keinen Eintrag trifft
		 //   	ergebnis_feld.setText("diese Eintrag existiert in DB nicht...");
		  //  }else{
		    while (result.next()) {
              String first_name = result.getString("Vorname"); // Alternativ: result.getString(1);
              String last_name  = result.getString("Nachname"); // Alternativ: result.getString(2);
              String name_result = last_name + ", " + first_name;
            //  schreibInErgebnis(name);
		        ergebnis_feld.setText(name_result); 
            }
		   // } //else 
		} catch (SQLException e) {
            e.printStackTrace();
        }
		 
	}
	
	/*public void schreibInErgebnis(String text){		
           // System.out.println(name);
           ergebnis_feld.setText(text); 
	}*/
	
}
 

Mrtwomoon

Mitglied
erst danke für das schnellere Antwort
das habe ich jetzt gemacht aber immer noch ist gleich

JTextArea ergebnis_feld;
ergebnis_feld = new JTextArea();
 
Zuletzt bearbeitet:

PaP

Mitglied
Mit ergebnis_feld.setText(name_result) überschreibst du ja den vorherigen Eintrag.
Versuch statt dessen mal das hier ergebnis_feld.setText(name_result+", "+ergebnis_feld.getText());
 

Mrtwomoon

Mitglied
sory! dass ich nicht antworten könnte ;)

danke für die Antworten... :toll:

jetzt muss ich aber vorherige Suchergebnisse löschen können, da die neue Ergebnisse unter den alten hinzugefügt werden... :noe:
also ich will nach jeder neuen Suche in der Feld nur die aktuelle Ergebnisse haben...
was soll ich jetzt machen?
 

Fab1

Top Contributor
Du nutzt ja ein JTextArea so wie ich das mitbekommen habe oder?

Und du speicherst den Inhalt in einer Variablen, die ständig erweitert wird.

Nun da kannst du einfach in den Listener von deinem suchen Button den Inhalt von dem String auf "" setzen.
 

Fab1

Top Contributor
Du machst ja sowas in der Art hier:

Java:
ergebnis_feld.setText(name_result);

Und wenn du nun die Variable
Code:
name_result
leerst.

Java:
name_result = "";

// Variable wieder übergeben.

ergebnis_feld.setText(name_result);

Dann hast du wieder ein leeres TextArea.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Access Abfrage mit Parameter & Access/Java liefern unterschiedliche Ergebnisse Datenbankprogrammierung 2
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
Bluedaishi MySQL Abfrage Problem :-) Datenbankprogrammierung 21
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
M MySQL SQL Abfrage Problem Datenbankprogrammierung 6
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
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
C MySQL Problem mit UPDATE Abfrage Datenbankprogrammierung 13
K SQLite Einfache DB-Abfrage Datenbankprogrammierung 2
C Problem mit SQL-Abfrage Datenbankprogrammierung 5
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
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
J sql abfrage ... Problem mit Datumswert Datenbankprogrammierung 3
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
H MySQL Datenbank Abfrage Datenbankprogrammierung 10
André Uhres SQL Abfrage erkennt keine Buchstaben mit Akzenten (z. B. é, è) Datenbankprogrammierung 3
E MySQL Klasse zur Abfrage statisch oder Standard Datenbankprogrammierung 5
J Mit einer Abfrage Worte suchen die in Zwei Tabellen enthalten sind Datenbankprogrammierung 5
G M:N Abfrage Datenbankprogrammierung 2
J where Abfrage auf ein mysql date feld Datenbankprogrammierung 5

Ähnliche Java Themen


Oben