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 ich bedanke mich für Hilfe
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 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);
}*/
}