MySQL Tabelle immer leer

Status
Nicht offen für weitere Antworten.

Zuckschwerdt

Mitglied
Hallo zusammen

Ich habe folgendes Problem: Ich möchte aus einem Formular, welches aus JTextFields besteht, Daten in eine MySQL Datenbank schreiben. Nach Verbindung zur Datenbank wird auch eine entsprechende Zeile in der Tabelle erzeugt, allerdings wird da nichts reingeschrieben. Ich habe keine Ahnung mehr an was es liegen könnte. Hier mal der Code der betreffenden Klasse:

Code:
package gui;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;

import javax.swing.*;

/**
 * 
 * @author Lars.Zuckschwerdt
 * Erzeug einen Frame um ein neues Mitglied anzulegen. 
 * Die Daten werden in die Datenbank eingepflegt.
 * 
 */
public class MitgliederFrame extends JFrame{
	private static final long serialVersionUID = 4677755944143196477L;
	
	//Deklaration Klassenvariablen
	static Connection con = null;
	static ResultSet rs;
	static Statement stm;
	Load neu;
	
	String new_name;
	String new_vorname;
	String new_strasse;
	String new_plz;
	String new_stadt;
	String new_geb;
	String new_tel_priv;
	String new_tel_gesch;
	String new_fax;
	String new_mobil;
	String new_email;
	
	JFrame mitglied2 = new JFrame("Neues Mitglied anlegen");
	
	public MitgliederFrame(){
		//Deklaration HauptFrame
		mitglied2.getContentPane();//.setBackground(Color.RED);
		mitglied2.setLayout(new GridLayout(0,2));
		mitglied2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		JButton speichern = new JButton("Speichern");
		speichern.setName("Speichern");
		JButton close = new JButton("Abbrechen");
		close.setName("Close");
		mitglied2.setAlwaysOnTop(true);
		mitglied2.setVisible(true);
		mitglied2.setSize(550,450);
		mitglied2.setLocation(200, 100);
		mitglied2.setResizable(false);
		
		//Bauen der einzelnen Bestandteile
		JLabel name = new JLabel("Nachname:", JLabel.CENTER);
		JTextField name2 = new JTextField("");
		new_name = name2.getText();
	
		JLabel vorname = new JLabel("Vorname: ", JLabel.CENTER);
		JTextField vorname2 = new JTextField("");
		new_vorname = vorname2.getText();
		
		JLabel strasse = new JLabel("Strasse: ", JLabel.CENTER);
		JTextField strasse2 = new JTextField("");
		new_strasse = strasse2.getText();
		
		JLabel postleitzahl = new JLabel("Postleitzahl: ",JLabel.CENTER);
		JTextField plz = new JTextField("");
		new_plz = plz.getText();
		
		JLabel stadt = new JLabel("Stadt: ", JLabel.CENTER);
		JTextField stadt2 = new JTextField("");
		new_stadt = stadt2.getText();
		
		JLabel geb = new JLabel("Geburtsdatum: ",JLabel.CENTER);
		JTextField geb2 = new JTextField("");
		new_geb = geb2.getText();
		
		JLabel tel_priv = new JLabel("Telefon (privat)", JLabel.CENTER);
		JTextField tel_priv2 = new JTextField("");
		new_tel_priv = tel_priv2.getText();
		
		JLabel tel_gesch = new JLabel("Telefon (geschäftlich)", JLabel.CENTER);
		JTextField tel_gesch2 = new JTextField("");
		new_tel_gesch = tel_gesch2.getText();
		
		JLabel fax = new JLabel("Fax: ", JLabel.CENTER);
		JTextField fax2 = new JTextField("");
		new_fax = fax2.getText();
		
		JLabel mobil = new JLabel("Mobil: ", JLabel.CENTER);
		JTextField mobil2 = new JTextField("");
		new_mobil = mobil2.getText();
		
		JLabel email = new JLabel("E-Mail: ",JLabel.CENTER);
		JTextField email2 = new JTextField("");
		new_email = email2.getText();
		
		JLabel dienstgrad = new JLabel("Dienstgrad: ", JLabel.CENTER);
		JTextField dienstgrad2 = new JTextField("");
		
		//Hinzufügen der Felder in Frame
		mitglied2.add(name, BorderLayout.CENTER);
		mitglied2.add(name2, BorderLayout.CENTER);
		mitglied2.add(vorname, BorderLayout.CENTER);
		mitglied2.add(vorname2, BorderLayout.CENTER);
		mitglied2.add(strasse, BorderLayout.CENTER);
		mitglied2.add(strasse2, BorderLayout.CENTER);
		mitglied2.add(postleitzahl, BorderLayout.CENTER);
		mitglied2.add(plz, BorderLayout.CENTER);
		mitglied2.add(stadt, BorderLayout.CENTER);
		mitglied2.add(stadt2, BorderLayout.CENTER);
		mitglied2.add(geb, BorderLayout.CENTER);
		mitglied2.add(geb2, BorderLayout.CENTER);
		mitglied2.add(tel_priv, BorderLayout.CENTER);
		mitglied2.add(tel_priv2, BorderLayout.CENTER);
		mitglied2.add(tel_gesch, BorderLayout.CENTER);
		mitglied2.add(tel_gesch2, BorderLayout.CENTER);
		mitglied2.add(fax, BorderLayout.CENTER);
		mitglied2.add(fax2, BorderLayout.CENTER);
		mitglied2.add(email, BorderLayout.CENTER);
		mitglied2.add(email2, BorderLayout.CENTER);
		mitglied2.add(mobil, BorderLayout.CENTER);
		mitglied2.add(mobil2, BorderLayout.CENTER);
		mitglied2.add(dienstgrad, BorderLayout.CENTER);
		mitglied2.add(dienstgrad2, BorderLayout.CENTER);
		
		//Speichern Button Deklaration und ActionListener
		mitglied2.add(speichern, BorderLayout.SOUTH);
		
		ButtonListener al = new ButtonListener();
		speichern.addActionListener(al);
		
		
		//Close Button Deklaration und ActionListener
		mitglied2.add(close, BorderLayout.SOUTH);
		
		ButtonListener2 bl = new ButtonListener2();
		close.addActionListener(bl);
	}
	class ButtonListener implements ActionListener{
		public void actionPerformed(ActionEvent e) { 
			db(); 
	    } 
	}
	class ButtonListener2 implements ActionListener{
		public void actionPerformed(ActionEvent e){
			if (e.getSource() instanceof JButton) { 
		         JButton temp = (JButton) e.getSource(); 
		         if (temp.getName().equals("Close")) { 
		        	 mitglied2.dispose(); 
		         } 
		      }
		}
	}
	
	//Methode zum schreiben in Datenbank
	public void db(){

		try {
			Class.forName( "com.mysql.jdbc.Driver" );
			System.out.println("Treiber wurden geladen!");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} 
		try {
			con = DriverManager.getConnection( "jdbc:mysql://localhost/Feuerwehr", "benutzer", "password" );
			System.out.println("Datenbankverbindung steht!");
		} catch (SQLException e2) {
			e2.printStackTrace();
			System.out.println("Es besteht keine Datenbankverbindung!");
		}
		//Schreiben in Tabelle
		try {
			stm = con.createStatement();
		} catch (SQLException e2) {
			e2.printStackTrace();
		}
		try {
			ResultSet rSet; 
			String insertQuery = "INSERT INTO mitglied name,vorname,strasse,plz,stadt,geb,tel_priv,
tel_gesch,fax,email,mobil) 
VALUES ('"+ new_name +"','" + new_vorname + "','"+ new_strasse +"','"+ 
new_plz +"','"+ new_stadt +"','"+ new_geb +"','"+ new_tel_priv +"','"+ new_tel_gesch +"','"+
 new_fax +"','"+ new_email +"','"+ new_mobil +"')"; 
			stm.executeUpdate(insertQuery); 
			System.out.println(""); 
			System.out.println("---Eintrag---"); 
			System.out.println(""); 
			String sqlQuery = "SELECT Name,Vorname  FROM mitglied"; 
			rSet = stm.executeQuery( sqlQuery ); 
		while ( rSet.next() ) 
		   System.out.println ( rSet.getString(1) + " \n " + rSet.getString(2) + "Punkt(e) \n" ); 
		} 
		catch (SQLException e) {
		e.printStackTrace();
		}
		try {
			stm.executeBatch();
		} 
		catch (SQLException e1) {
			e1.printStackTrace();
		}

		//Beendung von Datenbankverbingung
		if(con != null){
		try {
			con.close();
			System.out.println("Datenbankverbindung wurde beendet!");
		} 
		catch (SQLException e1) {
			e1.printStackTrace();
		} 
		}
	}
}

Die Ausgabe auf dem KonsolenFenster sieht wie folgt aus:

Treiber wurden geladen!
Datenbankverbindung steht!

---Eintrag---


Punkt(e)

Datenbankverbindung wurde beendet!


Ich weiß, dass alles als String deklariert ist, das ist erstmal auch richtig so... ich habe nämlich keine Ahnung wie ich z.B. ein Geburtsdatum in eine DB bekomme :oops:

Danke für die Hilfe... Grüße
Lars[/code]
 

semi

Top Contributor
Wo werden die Daten überhaupt ausgelesen. Ich meine aus den Textfeldern?
Bei dem hier doch nicht. Du hast überall leere Strings und das ganze passiert im Konstruktor.
Code:
JLabel name = new JLabel("Nachname:", JLabel.CENTER); 
JTextField name2 = new JTextField(""); 
new_name = name2.getText();
 

Zuckschwerdt

Mitglied
ok... ich mein, ich muss ja im Konstruktor die JTextFields erzeugen, oder lieg ich da falsch? und wo les ich die dann korrekt aus? in einer main?
 

semi

Top Contributor
Vergiss die Datenbank um erstelle zuerst mal eine funktionierende Benutzeroberfläche.
 

Zuckschwerdt

Mitglied
ok, dann werd ich mich wohl nochmal an die Benutzeroberfläche machen... danke dir trotzdem... wenn du mir jetzt noch nen kleinen tipp geben würdest, wie ich das ganze etwas eleganter lösen könnte, wäre ich dir noch viel dankbarer :)
 
G

Guest

Gast
Schau dir das Beispiel hier an
http://www.java-forum.org/de/viewtopic.php?t=65520&start=30

Die Vorgehensweise ist ähnlich. Zuerst eine Klasse Mitglied, dann die passenden Interfaces zum Lesen und
Schreiben, eine Implementierung der Interfacces zum Test, die GUI usw. Lese auch wie man PreparedStatement
verwendet und JUnit-Tests schreibt. (Beispiele findest du auch hier im Forum)

Gruß,
semi
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Temporäre tabelle MySQL Datenbankprogrammierung 2
Rudolf MySQL MySQL Tabelle mit Fremdschlüsseln in JTable darstellen Datenbankprogrammierung 5
N Einzelne Spalte in MySQL-DB-Tabelle schreiben Datenbankprogrammierung 7
M Ausgabe in Tabelle der MySQL-Datenbank mit Java Datenbankprogrammierung 4
D MySql Tabelle mit MySQLAdministrator (Anfänger) Datenbankprogrammierung 5
C Prüfen, ob eine MySQL-Tabelle bereits existiert Datenbankprogrammierung 7
G Int aus MySQL-Tabelle lesen? Datenbankprogrammierung 5
L Datum (String) in MySQL-Tabelle (date) speichern Datenbankprogrammierung 4
C sortieren einer Tabelle (mysql) Datenbankprogrammierung 4
Juelin Java und MySQL MariaDB - WHERE-Klausel Datenbankprogrammierung 17
W MySQL-Connector funktioniert nicht über WLAN -> MacOS Datenbankprogrammierung 10
Juelin MySQL Datenbankmit glassfish und Netbeans Datenbankprogrammierung 18
Auf MySql Datenbank zugreifen funktioniert nicht Datenbankprogrammierung 8
TheSkyRider MySQL Datenbankzuordnung in Verbindung mit Java Datenbankprogrammierung 7
Warum funktioniert MySQL nicht Datenbankprogrammierung 8
M MySQL Datenbank in Array Datenbankprogrammierung 2
P MySQL- Neues Passwort Datenbankprogrammierung 1
btwX28 mysql abfrage über phpmyadmin Datenbankprogrammierung 8
sserio SQL oder MySQL Datenbankprogrammierung 44
OnDemand Mysql Query Builder Datenbankprogrammierung 1
Z MySQL "Too many connections" auch nach schliessen der Connections. Datenbankprogrammierung 10
yakazuqi MySQL MySQL Connection reset Datenbankprogrammierung 7
OnDemand MySql Foreign Key nötig oder unnötig Datenbankprogrammierung 3
M Mysql Views und Hibernate Caching Datenbankprogrammierung 4
W MYSQL Datenbank Login Android Datenbankprogrammierung 3
OnDemand MySQL und mongoDB wann macht was Sinn? Datenbankprogrammierung 11
bueseb84 Spring Boot : Update Mysql Datenbank Datenbankprogrammierung 1
Avalon Attribute werden mit Unterstrich in eine MySQL Datenbank eingetragen Datenbankprogrammierung 10
D MYSQL goorm IDE - Wie speichern? Datenbankprogrammierung 0
OnDemand Mysql UPDATE if condition Datenbankprogrammierung 14
D MySQL Geburtsdatum per KW abfragen Datenbankprogrammierung 1
C Java MySQL check if value exists in database Datenbankprogrammierung 2
H Fehler bei getConnection zu MySQL Datenbank Datenbankprogrammierung 18
J MySQL - Primary Key Date,Time vs ID Datenbankprogrammierung 16
ruutaiokwu MySQL: Messwerte, welche stagnieren interpolieren? Datenbankprogrammierung 2
S Datenbank MySQL und Java Datenbankprogrammierung 8
Thallius MySQL JDBC auf Linux Server zu mySQL DB auf anderem Linux Server wirft Access denied Datenbankprogrammierung 5
P Adressadministration mit Java und mySQL Datenbankprogrammierung 14
D MySQL Abfrage Datenbankprogrammierung 5
D MySQL Abfrage sortieren Datenbankprogrammierung 4
platofan23 MySQL Java Programm findet Treiber für mySQL auf Debian-Server nicht? Datenbankprogrammierung 11
J MySQL MySQL Risiken bei Stromausfall minimieren Datenbankprogrammierung 9
D MySQL Abfrage SUM datediff Datenbankprogrammierung 3
H MySQL MySQL - Keine Verbindung zur Datenbank?! Datenbankprogrammierung 4
G MySQL Problem mit MySQL verbindung Datenbankprogrammierung 8
X MySQL Java hat keinen Zugriff auf MySQL Datenbankprogrammierung 9
Z [JDBC][MYSQL] Access denied Datenbankprogrammierung 7
D MySQL Connection richtig herstellen. Wie ? Datenbankprogrammierung 7
D Multiple Connection mit MySQL Datenbankprogrammierung 4
D MySQL Eibinden des "mysql-connector" in eine fertige Jar Datenbankprogrammierung 3
L MySQL Android zu externer MySQL Datenbank verbinden Datenbankprogrammierung 5
P Daten in eine mySQL Datenbank einfügen Datenbankprogrammierung 4
D MySQL Zeilen kumulieren Datenbankprogrammierung 8
D MySQL Abfrage mit kumulierten Werten Datenbankprogrammierung 16
K Servlet-MySQL DB Datenbankprogrammierung 2
X MySQL Json String in MySQL einfügen. Datenbankprogrammierung 20
OnDemand Update auf Mysql läuft nicht durch Datenbankprogrammierung 30
K Java Object mit Hibernate in MySQL abspeichern Datenbankprogrammierung 1
D Datumsformat aus MySQL ändern Datenbankprogrammierung 15
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
K MySQL LAN-MySQL Server mit XAMPP Datenbankprogrammierung 2
R ERModel der Datebanken (ORACLE,MySQL,MS-SQL usw) Datenbankprogrammierung 4
X MySQL In MySQL Funktionen erstellen, wenn Zelle leer dann andere Zelle ändern? Datenbankprogrammierung 9
K Anfängerfrage CSV in MySQL Datenbankprogrammierung 41
I MySQL Wert nachträglich bearbeiten Datenbankprogrammierung 1
N MySQL Datenbank lokal Datenbankprogrammierung 3
B MySQL: Port ändern über GUI? Wo und wie Port ändern? Datenbankprogrammierung 0
B MySQL installieren - silent / User anlegen Datenbankprogrammierung 3
X MySQL Verbindungdsaufbau MySql auf Ubuntu-Server Datenbankprogrammierung 10
F MySQL Wie kann ich in Java Datensätze aus einer MySQL Datenbank gezielt in einzelne Arrays schreiben? Datenbankprogrammierung 9
P MySQL JPA / MySQL - Fehler bei type=innoDB Datenbankprogrammierung 8
M MySQL MySQL DATETIME-Import Datenbankprogrammierung 9
P MySQL Connection Global Datenbankprogrammierung 13
J mySQL- Java Application - Zugriff über Internet Datenbankprogrammierung 3
P MySQL-Verbindung in anderer Klasse nutzen Datenbankprogrammierung 2
D JavaFX Anwendung zugriff auf MySQL DB. Datenbankprogrammierung 2
D MySQL Grundsätzliche Fragen zu MySQL Datenbankprogrammierung 3
B MySQL LogIn Daten im Code verstecken Datenbankprogrammierung 3
M MySQL-Syntax-Fehler Datenbankprogrammierung 1
M In MySql Datenbank schreiben Datenbankprogrammierung 6
D mySQL Timestamp in RegularTimePeriod bzw Second Datenbankprogrammierung 3
H SHOW Tables in Java/MySQL Datenbankprogrammierung 8
windl MySQL und HSQLDB Datenbankprogrammierung 4
S Anbindung zur mysql von mit Swing und AWT Datenbankprogrammierung 22
F MySQL+ Netbeans: Datenbanken mit Automatisch generierten Entity Classes get und set Datenbankprogrammierung 2
I MySQL Hibernate / MySQL alias in WHERE clause Datenbankprogrammierung 1
C MYSQL kann wert nicht eintragen Datenbankprogrammierung 3
D Aktualisierung einer ListView mit Daten aus MySQL-DB Datenbankprogrammierung 5
F BPlaced MySql Datenbank ansprechen Datenbankprogrammierung 5
S MySQL MySQL will einfach nicht, bitte um Rat Datenbankprogrammierung 4
M MySQL Datenbank durchsuchen Datenbankprogrammierung 5
Z MySQL mysql Facharbeit: Tipps und Ideen gesucht Datenbankprogrammierung 5
dat_vin JavaFX Datenbankverbindung über JPA und MySQL Error Datenbankprogrammierung 0
K MySQL Datenbank 2facher Zugriff Datenbankprogrammierung 1
Z MySQL Shopsystem mit mysql und Java Datenbankprogrammierung 8
S [MySQL] Topliste Datenbankprogrammierung 2
H Datenbank-Anbindung Java/MySQL Datenbankprogrammierung 2
T MySQL MySQL - Insert into fügt zwei identische Datensätze ein Datenbankprogrammierung 2
A Eine MySQL Zeile mit JDBC löschen Datenbankprogrammierung 5
J Dateien in MySQL speichern & indizieren Datenbankprogrammierung 2

Ähnliche Java Themen


Oben