DB-Anbindung Zuweisung fehlgeschlagen

Status
Nicht offen für weitere Antworten.

derRote

Aktives Mitglied
Hallo Freunde :)

nachdem ich nun mein schriftliches ABI, die Saufgelage und die Osterfeiertage hinter mir habe, wollte ich an meinem kleinen "Kochbuch" weiterbasteln.

Läft auch ganz gut, doch leider funktioniert die Datenbankanbindung nicht, wie sie sollte :noe:

Meine Nerven liegen Blank ;(

Wenn ich in meinem GUI in meine Textfelder die Atibute eingeben möchte und dann auf Anlegen drücke, erhalte ich in meiner Console folgenden Ausdruck:

actionPerformed()
actionPerformed()
Zuweisung fehlgeschlagen!

Folgenden Code benutze ich für meine Datenbank:

Java:
package MEINKOCHBUCH;

	//Klassenbibliothek, die SQL-Funktionen abbildet

	import java.sql.*;

	public class DBZugriff {

		//Objekte für den Verbindungsaufbau
			
		//Objekt für die Verbindung zur DB
		
		Connection objVerbindung = null;
		
		//Objekt für die Ausführung von SQL Anweisungen
		
		Statement objSQLBefehl = null;
		
		//Variable für den Treiber und den Pfad zur Datenbank
		Connection mdbdb1 = null;
		String mTreiber;	
		Statement stmtSQL = null;
		//Befehl um Datenbank über Java zu öffnen
		
		public void oeffnen()

		{
			//Frage: Warum try und catch!!!!!!!!
			try
			{
				Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
				
				//Angabe des Treibers und des Pfades zur Datenbank
				//in der folgenden Zeile immer auf Leerzeichen achten
				mTreiber = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=F:/ws/MEIN-KOCHBUCH/src/db1.MDB";
				
				//Verbindungsaufbau: Objekt für die Verbindung zur DB wird erzeugt
				
			 objVerbindung = DriverManager.getConnection(mTreiber);	
				
			}
			
			catch(java.lang.Exception e)
			{
				System.out.println("Verbindung fehlgeschlagen!");
			}
			
		}

		public void aendern(String pSQL)
		
		{
			
		//Zugriff auf DB wird vorbereitet: Objekt für die Ausführung der SQL-Befehle wird erzeugt
		
			try
			{
				objSQLBefehl = objVerbindung.createStatement();
				
				//Ausführung der SQL-Anweisung
				
				objSQLBefehl.executeUpdate(pSQL);
			}
		
			catch (Exception e)
			{
				System.out.println("Zuweisung fehlgeschlagen!");
			}
		
		}
		
		public void schliessen()
		{
			try
			{
				objSQLBefehl.close();
				objVerbindung.close();
			}
			
			catch (Exception e)
			{
				System.out.println("Schließen DB fehlgeschlagen!");
			}
		
		}
		
		public ResultSet lesen (String pSQL)
		{
			//Variable vom Typ Resultset wird deklariert
			
			ResultSet mAntwort;
			
			try
			{
				//Zugriff auf DB wird vorbereitet: Objekt für die Ausführung der SQL-Befehle wird erzeugt
				
				objSQLBefehl=objVerbindung.createStatement();
				
				//Ausführen der SQL-Anweisung und das Ergebnis in einer Variablen abgelegt
				
				mAntwort=objSQLBefehl.executeQuery(pSQL);
				
				//Variable mit Ergebnis wird zurückgegeben
				
				return mAntwort;
			}
			
			catch (Exception e)
			{
				System.out.println("Abfrage konnte nicht ausgeführt werden!");
				
				mAntwort = null;
				
				return mAntwort;
			}
			
		}
		
		//Resultset kann als "virtuelle Tabelle" verstanden werden. In diesem Besipiel basiert der Inhalt
		//des Resultset auf der Methode artikelSuchen() und enthält eine Zeile (der gefundene Artikel)
		//oder keine Zeile (wenn kein Artikel mit der Artikelnummer vorhanden ist).

	
}

Kann mir bitte jemand helfen? :(
Ich habe gesehen, dass andere User ähnliche Probleme wie ich hatten, doch die ösungsvorschläge brachten mir nichts :noe:

Danke im Vorraus, der Rote :meld:
 

tfa

Top Contributor
Dann solltest du dir wohl mal den Stacktrace der Exception ausgeben lassen und ansehen. Vielleicht siehst du dann schon die Lösung.
 
S

SlaterB

Gast
den pSQL-String ruhig auch hier posten,
wie soll man wissen dass nicht 'fihdoeruoieroweriursfhjsdklfjd' eingetippt wurde?
ok, die Fehlermeldung wird das vielleicht beinhalten
 

derRote

Aktives Mitglied
Danke im Voraus für eure Tips!!

Jetzt stelle ich mir aber die Frage, ob es wichtig ist, dass man nicht einfach "hgudbsgowidb" eingibt, sondern ein richtiges Wort.

Ist es dem Programm nicht egal welche Buchstaben in den Textfeldern stehen??:bahnhof:

Das Problem ist ja auch, dass in meiner Datenbank gar keine Attribute drin stehen.....eben weil die Zuwesung fehlgeschlagen ist.


Über weitere Ratschläge wäre ich extrem dankbar....:toll:
 
S

SlaterB

Gast
> Ist es dem Programm nicht egal welche Buchstaben in den Textfeldern stehen??

hängt vom restlichen Programm ab, welches zu großen Teilen unbekannt ist,

an die Methode aendern() kannst du jedenfalls kein einzelnes Wort übergeben,
muss schon komplettes SQL-Kommando "UDPATE tabelleX SET x = y" usw. sein
 

derRote

Aktives Mitglied
Na klar hab ich den ersten Ratschlag schon umgesetzt.....leider hab ich jetzt auf meiner Konsole als Ausgabe einen riesigen roten Text als Fehlermeldung!!

UND JETZT?

zu SlaterB:

das werde ich sofort ausprobieren...ich denke das könnte die Ursache sein...:toll:

danke....dankeeeee
 
S

SlaterB

Gast
> UND JETZT?

Fehlermeldung selber verstehen oder hier posten, notfalls Screenshot
 

derRote

Aktives Mitglied
das wäre dann die Fehlermeldung: :rtfm:

Java:
actionPerformed()
actionPerformed()
Zuweisung fehlgeschlagen!
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntaxfehler (fehlender Operator) in Abfrageausdruck ''gfdsgy'bhfday'5.0'54'5'gfeha'.
	at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbcStatement.execute(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(Unknown Source)
	at MEINKOCHBUCH.DBZugriff.aendern(DBZugriff.java:62)
	at MEINKOCHBUCH.Speise.erfassen(Speise.java:156)
	at MEINKOCHBUCH.EigenesKochbuch$3.actionPerformed(EigenesKochbuch.java:271)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$000(Unknown Source)
	at java.awt.EventQueue$1.run(Unknown Source)
	at java.awt.EventQueue$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$2.run(Unknown Source)
	at java.awt.EventQueue$2.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
actionPerformed()
Zuweisung fehlgeschlagen!
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntaxfehler (fehlender Operator) in Abfrageausdruck ''gfdsgy'bhfday'5.0'54'5'gfeha'.
	at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbcStatement.execute(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(Unknown Source)
	at MEINKOCHBUCH.DBZugriff.aendern(DBZugriff.java:62)
	at MEINKOCHBUCH.Speise.erfassen(Speise.java:156)
	at MEINKOCHBUCH.EigenesKochbuch$3.actionPerformed(EigenesKochbuch.java:271)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$000(Unknown Source)
	at java.awt.EventQueue$1.run(Unknown Source)
	at java.awt.EventQueue$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$2.run(Unknown Source)
	at java.awt.EventQueue$2.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
actionPerformed()
 
S

SlaterB

Gast
da konnte ich mit 'fihdoeruoieroweriursfhjsdklfjd' ja endlich einmal fast hellsehen ;)
bzw. habe dies begünstigt?
 
S

SlaterB

Gast
das bedeutet in erster Linie, das SQL erforderlich ist,
mit sdfjlsdfjlsdfjsdfljsdf kannst du weder Pizzas telefonisch bestellen noch Datenbanken irgendwas mitteilen,

erst musst du dich oder deine User disziplinieren, "UDPATE xy" usw. in Textfelder einzugeben,

oder den Fehler finden der für Kauderwelsch sorgt,
denn es ist ja völlig unklar für alle Welt, was überhaupt deine Frage, dein Problem ist

"ich gebe 'gfdsgy'bhfday'5.0'54'5'gfeha' irgendwo ein und es passiert nicht das was ich will (was das ist sage ich auch nicht)"
?!
 

derRote

Aktives Mitglied
Vielleicht versteht ihr mich jetzt:;)

Ich möchte über ein Textfeld Daten in eine Datenbank eingeben.

Wähle ich dann den Button Anlegen, damit meine Daten in der Datenbank hinterlegt sind, kommt als Konsolenausgabe Zuweisung fehlgeschlagen (was ich zurvor selbst deklariert habe im Fall eben eine Zuweisung nicht möglich ist).

Das heißt letztendlich, dass die Daten natürlich auch nicht in der Datenbank sind und ich sie nihct wieder abfragen könnte.


Ich hoffe ich habe mich jetzt ein bisschen verständlicher ausgedrückt und ihr könnt mir vielleicht helfen.

Wär echt super!!!:toll:
 
S

SlaterB

Gast
es gibt keine Funktion, Daten direkt einzufügen,

eine Datenbank ist eine strukturierte Sache, in der man neben grundsätzlichen Dingen wie Projekt/Schema/User/Rechte usw.
als erstes eine Tabelle mit Feldern anlegen muss,
vorher gibt es keinen strukturieren Platz für Informationen

Datenbank - grundlegender Aufbau
 

ARadauer

Top Contributor
was genau übergibst du da:
objSQLBefehl.executeUpdate(pSQL);


mach mal ein System.out.println(pSQL);
 

derRote

Aktives Mitglied
Also mit einem System.out.println verändert sich überhaupt nichts.

Nach wie vor kann irgendetwas nicht zugewiesen werden.....:bahnhof:
 

ARadauer

Top Contributor
klar ein System.out.println gibt auch nur das query auf der konsole aus.
Kannst du uns bitte das query posten was du an die datenbank schickst...
 

derRote

Aktives Mitglied
Meinst du meinen Quellcode für die Datenbankanbindung?

Java:
package MEINKOCHBUCH;

	//Klassenbibliothek, die SQL-Funktionen abbildet

	import java.sql.*;

	public class DBZugriff {

		//Objekte für den Verbindungsaufbau
			
		//Objekt für die Verbindung zur DB
		
		Connection objVerbindung = null;
		
		//Objekt für die Ausführung von SQL Anweisungen
		
		Statement objSQLBefehl = null;
		
		//Variable für den Treiber und den Pfad zur Datenbank
		Connection mdbdb1 = null;
		String mTreiber;	
		Statement stmtSQL = null;
		//Befehl um Datenbank über Java zu öffnen
		
		public void oeffnen()

		{
			//Frage: Warum try und catch!!!!!!!!
			try
			{
				Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
				
				//Angabe des Treibers und des Pfades zur Datenbank
				//in der folgenden Zeile immer auf Leerzeichen achten
				mTreiber = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=F:/ws/MEIN-KOCHBUCH/src/db1.MDB";
				
				//Verbindungsaufbau: Objekt für die Verbindung zur DB wird erzeugt
				
			 objVerbindung = DriverManager.getConnection(mTreiber);	
				
			}
			
			catch(java.lang.Exception e)
			{
				System.out.println("Verbindung fehlgeschlagen!");
			}
			
		}

		public void aendern(String pSQL)
		
		{
			
		//Zugriff auf DB wird vorbereitet: Objekt für die Ausführung der SQL-Befehle wird erzeugt
		
			try
			{
				objSQLBefehl = objVerbindung.createStatement();
				
				//Ausführung der SQL-Anweisung
				
				objSQLBefehl.executeUpdate(pSQL);
				
				System.out.println(pSQL); 
			}
		
			catch (Exception e)
			{
				System.out.println("Zuweisung fehlgeschlagen!");
				
			}
		
		}
		
		public void schliessen()
		{
			try
			{
				objSQLBefehl.close();
				objVerbindung.close();
			}
			
			catch (Exception e)
			{
				System.out.println("Schließen DB fehlgeschlagen!");
			}
		
		}
		
		public ResultSet lesen (String pSQL)
		{
			//Variable vom Typ Resultset wird deklariert
			
			ResultSet mAntwort;
			
			try
			{
				//Zugriff auf DB wird vorbereitet: Objekt für die Ausführung der SQL-Befehle wird erzeugt
				
				objSQLBefehl=objVerbindung.createStatement();
				
				//Ausführen der SQL-Anweisung und das Ergebnis in einer Variablen abgelegt
				
				mAntwort=objSQLBefehl.executeQuery(pSQL);
				
				//Variable mit Ergebnis wird zurückgegeben
				
				return mAntwort;
			}
			
			catch (Exception e)
			{
				System.out.println("Abfrage konnte nicht ausgeführt werden!");
				
				mAntwort = null;
				
				return mAntwort;
			}
			
		}
		
		//Resultset kann als "virtuelle Tabelle" verstanden werden. In diesem Besipiel basiert der Inhalt
		//des Resultset auf der Methode artikelSuchen() und enthält eine Zeile (der gefundene Artikel)
		//oder keine Zeile (wenn kein Artikel mit der Artikelnummer vorhanden ist).

	
}

vielleicht hilft das weiter....wär echt geil:toll:
 

ARadauer

Top Contributor
ok jetzt glaub ichs dir nicht mehr... du verarscht mich :) stimmts?
Spätestens bei ''gfdsgy'bhfday'5.0'54'5'gfeha' hätt ichs merken müssen... :autsch:
 
S

SlaterB

Gast
du wirst schon mehrfach gefragt, wie der String aussieht,
System.out.println(pSQL);
schreibt dir ARadauer direkt als Code,
(wenn du nicht weißt wofür System.out.println() gut ist: das ist der EINZIGE Befehl im wichtigsten Hello World-Programm..)

und du fragst was du posten sollst, wiederholst den schon bekannten Quellcode?
meine Güte


JAVA - Hello World
 

derRote

Aktives Mitglied
Hey sry Leute.....

so ganz so gut kenn ich mich mit der Fachsprache einfach nicht aus.....verarschen will ich hier aber ganz sicher niemand....ich brauche ernstahft Hilfe!!!

Ich fände es einfach nur cool wenn mir jeman helfen könnte....

Ich blicks gerade einfach nur nicht....aber macht mich deswegen nicht so fertig....;(
 
S

SlaterB

Gast
festzustellen bleibt, dass du auch nach diesem Posting noch nicht den Inhalt der String-Variablen gepostet hast

dass dir jemand helfen soll ist von Anfang an klar und gilt für jeden Forum-Thread, das ist keine echte Info

hast du denn aus den bisherigen zwei Seiten des Threads schon irgendwas erfahren,
kannst du konkret in Worte fassen was dich gerade beschäftigt?
 

derRote

Aktives Mitglied
Ich poste euch jetzt einfach alle Klassen, die ich bis jetzt gemacht habe:

1.

Java:
package MEINKOCHBUCH;

public class Startklasse {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Startseite s1= new Startseite();
		s1.setVisible(true);
		s1.setLocation(400, 300);
		
	}

}

2.

Java:
package MEINKOCHBUCH;

import java.awt.Frame;
import javax.swing.JButton;
import java.awt.Rectangle;
import java.awt.Dimension;
import javax.swing.JLabel;

/**
 * @author  muttermi
 */
public class Startseite extends Frame {

	private static final long serialVersionUID = 1L;
	/**
	 * @uml.property  name="btGerichte"
	 */
	private JButton btGerichte = null;
	/**
	 * @uml.property  name="btMeinKochbuch"
	 */
	private JButton btMeinKochbuch = null;
	/**
	 * @uml.property  name="btSpezielleAuswahl"
	 */
	private JButton btSpezielleAuswahl = null;
	private JLabel jlÜberschrift = null;
	/**
	 * @uml.property  name="btEnde"
	 */
	private JButton btEnde = null;
	/**
	 * This is the default constructor
	 */
	public Startseite() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		jlÜberschrift = new JLabel();
		jlÜberschrift.setBounds(new Rectangle(75, 31, 286, 37));
		jlÜberschrift.setText("MEIN KOCHBUCH");
		this.setLayout(null);
		this.setSize(483, 241);
		this.setTitle("Startseite");

		this.add(getBtGerichte(), null);
		this.add(getBtMeinKochbuch(), null);
		this.add(getBtSpezielleAuswahl(), null);
		this.add(jlÜberschrift, null);
		this.add(getBtEnde(), null);
	}

	/**
	 * This method initializes btGerichte	
	 * @return  javax.swing.JButton
	 * @uml.property  name="btGerichte"
	 */
	private JButton getBtGerichte() {
		if (btGerichte == null) {
			btGerichte = new JButton();
			btGerichte.setBounds(new Rectangle(17, 77, 88, 38));
			btGerichte.setText("Gerichte");
			btGerichte.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					
					SpeisenListe ss = new SpeisenListe();
					ss.setVisible(true);	
					ss.setLocation(400, 300);
					
					dispose();
					
					// TODO Auto-generated Event stub actionPerformed()
				}
			});
		}
		return btGerichte;
	}

	/**
	 * This method initializes btMeinKochbuch	
	 * @return  javax.swing.JButton
	 * @uml.property  name="btMeinKochbuch"
	 */
	private JButton getBtMeinKochbuch() {
		if (btMeinKochbuch == null) {
			btMeinKochbuch = new JButton();
			btMeinKochbuch.setBounds(new Rectangle(17, 181, 131, 35));
			btMeinKochbuch.setText("MeinKochbuch");
			btMeinKochbuch.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()");

					EigenesKochbuch ss = new EigenesKochbuch();
					ss.setVisible(true);	
					ss.setLocation(400, 300);
					dispose();
					// TODO Auto-generated Event stub actionPerformed()
				}
			});
		}
		return btMeinKochbuch;
	}

	/**
	 * This method initializes btSpezielleAuswahl	
	 * @return  javax.swing.JButton
	 * @uml.property  name="btSpezielleAuswahl"
	 */
	private JButton getBtSpezielleAuswahl() {
		if (btSpezielleAuswahl == null) {
			btSpezielleAuswahl = new JButton();
			btSpezielleAuswahl.setBounds(new Rectangle(17, 133, 181, 32));
			btSpezielleAuswahl.setText("Spezielle Auswahl");
			btSpezielleAuswahl.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					
					SpezielleGerichteSuchen ss = new SpezielleGerichteSuchen();
					ss.setVisible(true);	
					ss.setLocation(400, 300);
					dispose();
					
					// TODO Auto-generated Event stub actionPerformed()
				}
			});
		}
		return btSpezielleAuswahl;
	}

	/**
	 * This method initializes btEnde	
	 * @return  javax.swing.JButton
	 * @uml.property  name="btEnde"
	 */
	private JButton getBtEnde() {
		if (btEnde == null) {
			btEnde = new JButton();
			btEnde.setBounds(new Rectangle(273, 178, 152, 44));
			btEnde.setText("Ende");
			btEnde.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()");
					System.exit(0);
					dispose();
					// TODO Auto-generated Event stub actionPerformed()
				}
			});
		}
		return btEnde;
	}

}  //  @jve:decl-index=0:visual-constraint="10,10"


3.

Java:
package MEINKOCHBUCH;

	//Klassenbibliothek, die SQL-Funktionen abbildet

	import java.sql.*;

	public class DBZugriff {

		//Objekte für den Verbindungsaufbau
			
		//Objekt für die Verbindung zur DB
		
		Connection objVerbindung = null;
		
		//Objekt für die Ausführung von SQL Anweisungen
		
		Statement objSQLBefehl = null;
		
		//Variable für den Treiber und den Pfad zur Datenbank
		Connection mdbdb1 = null;
		String mTreiber;	
		Statement stmtSQL = null;
		//Befehl um Datenbank über Java zu öffnen
		
		public void oeffnen()

		{
			//Frage: Warum try und catch!!!!!!!!
			try
			{
				Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
				
				//Angabe des Treibers und des Pfades zur Datenbank
				//in der folgenden Zeile immer auf Leerzeichen achten
				mTreiber = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=F:/ws/MEIN-KOCHBUCH/db1.MDB";
				
				//Verbindungsaufbau: Objekt für die Verbindung zur DB wird erzeugt
				
			 objVerbindung = DriverManager.getConnection(mTreiber);	
			
			}
			
			catch(java.lang.Exception e)
			{
				System.out.println("Verbindung fehlgeschlagen!");
			}
			
		}

		public void aendern(String pSQL)
		
		{
			
		//Zugriff auf DB wird vorbereitet: Objekt für die Ausführung der SQL-Befehle wird erzeugt
		
			try
			{
				objSQLBefehl = objVerbindung.createStatement();
				
				//Ausführung der SQL-Anweisung
				
				objSQLBefehl.executeUpdate(pSQL);
				
				System.out.println(pSQL); 
			}
		
			catch (Exception e)
			{
				System.out.println("Zuweisung fehlgeschlagen!");
				
			}
		
		}
		
		public void schliessen()
		{
			try
			{
				objSQLBefehl.close();
				objVerbindung.close();
			}
			
			catch (Exception e)
			{
				System.out.println("Schließen DB fehlgeschlagen!");
			}
		
		}
		
		public ResultSet lesen (String pSQL)
		{
			//Variable vom Typ Resultset wird deklariert
			
			ResultSet mAntwort;
			
			try
			{
				//Zugriff auf DB wird vorbereitet: Objekt für die Ausführung der SQL-Befehle wird erzeugt
				
				objSQLBefehl=objVerbindung.createStatement();
				
				//Ausführen der SQL-Anweisung und das Ergebnis in einer Variablen abgelegt
				
				mAntwort=objSQLBefehl.executeQuery(pSQL);
				
				//Variable mit Ergebnis wird zurückgegeben
				
				return mAntwort;
			}
			
			catch (Exception e)
			{
				System.out.println("Abfrage konnte nicht ausgeführt werden!");
				
				mAntwort = null;
				
				return mAntwort;
			}
			
		}
		
		
		
		//Resultset kann als "virtuelle Tabelle" verstanden werden. In diesem Besipiel basiert der Inhalt
		//des Resultset auf der Methode artikelSuchen() und enthält eine Zeile (der gefundene Artikel)
		//oder keine Zeile (wenn kein Artikel mit der Artikelnummer vorhanden ist).

	
}


4.

Java:
package MEINKOCHBUCH;

import java.awt.Frame;
import javax.swing.JPanel;
import java.awt.Rectangle;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
import java.awt.Dimension;
import java.awt.Color;
import java.awt.Toolkit;
import javax.swing.ImageIcon;

/**
 * @author  muttermi
 */
public class EigenesKochbuch extends Frame {

	private static final long serialVersionUID = 1L;
	private JLabel jlÜberschrift = null;
	private JLabel jlZutaten = null;
	private JLabel jlPreis = null;
	private JLabel jlSchwierigkeitsgrad = null;
	private JLabel jlGang = null;
	private JLabel jlRezept = null;
	/**
	 * @uml.property  name="tfRezept"
	 */
	private JTextField tfRezept = null;
	/**
	 * @uml.property  name="tfGang"
	 */
	private JTextField tfGang = null;
	/**
	 * @uml.property  name="tfSchwierigkeitsgrad"
	 */
	private JTextField tfSchwierigkeitsgrad = null;
	/**
	 * @uml.property  name="tfName"
	 */
	private JTextField tfName = null;
	/**
	 * @uml.property  name="tfZutaten"
	 */
	private JTextField tfZutaten = null;
	/**
	 * @uml.property  name="tfPreis"
	 */
	private JTextField tfPreis = null;
	/**
	 * @uml.property  name="btStartseite"
	 */
	private JButton btStartseite = null;
	/**
	 * @uml.property  name="btEnde"
	 */
	private JButton btEnde = null;
	/**
	 * @uml.property  name="btRezeptAnlegen"
	 */
	private JButton btRezeptAnlegen = null;
	/**
	 * @uml.property  name="btLeeren"
	 */
	private JButton btLeeren = null;
	/**
	 * This is the default constructor
	 * @uml.property  name="objSpeise"
	 * @uml.associationEnd  
	 */
	
	Speise objSpeise = new Speise();
	private JLabel jlName = null;
	
	public EigenesKochbuch() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		jlName = new JLabel();
		jlName.setBounds(new Rectangle(20, 89, 114, 40));
		jlName.setText("Name");
		jlRezept = new JLabel();
		jlRezept.setBounds(new Rectangle(15, 318, 141, 63));
		jlRezept.setText("Rezept");
		jlGang = new JLabel();
		jlGang.setBounds(new Rectangle(15, 277, 117, 28));
		jlGang.setText("Gang");
		jlSchwierigkeitsgrad = new JLabel();
		jlSchwierigkeitsgrad.setBounds(new Rectangle(14, 235, 147, 30));
		jlSchwierigkeitsgrad.setText("Schwierigkeitsgrad");
		jlPreis = new JLabel();
		jlPreis.setBounds(new Rectangle(15, 190, 130, 31));
		jlPreis.setText("Preis");
		jlZutaten = new JLabel();
		jlZutaten.setBounds(new Rectangle(17, 146, 119, 38));
		jlZutaten.setText("Zutaten");
		jlÜberschrift = new JLabel();
		jlÜberschrift.setBounds(new Rectangle(133, 34, 301, 41));
		jlÜberschrift.setText("Mein Kochbuch");
		this.setLayout(null);
		this.setSize(675, 408);
		this.setIconImage(Toolkit.getDefaultToolkit().getImage("F:/Projekt-MeinKochbuch/koch_urkunden.gif"));
		this.setBackground(new Color(212, 26, 26));
		this.setTitle("EigenesKochbuch");

		this.add(jlÜberschrift, null);
		this.add(jlZutaten, null);
		this.add(jlPreis, null);
		this.add(jlSchwierigkeitsgrad, null);
		this.add(jlGang, null);
		this.add(jlRezept, null);
		this.add(getTfRezept(), null);
		this.add(getTfGang(), null);
		this.add(getTfSchwierigkeitsgrad(), null);
		this.add(getTfName(), null);
		this.add(getTfZutaten(), null);
		this.add(getTfPreis(), null);
		this.add(getBtStartseite(), null);
		this.add(getBtEnde(), null);
		this.add(getBtRezeptAnlegen(), null);
		this.add(getBtLeeren(), null);
		this.add(jlName, null);
	}

	/**
	 * This method initializes tfRezept	
	 * @return  javax.swing.JTextField
	 * @uml.property  name="tfRezept"
	 */
	private JTextField getTfRezept() {
		if (tfRezept == null) {
			tfRezept = new JTextField();
			tfRezept.setBounds(new Rectangle(198, 321, 233, 65));
		}
		return tfRezept;
	}

	/**
	 * This method initializes tfGang	
	 * @return  javax.swing.JTextField
	 * @uml.property  name="tfGang"
	 */
	private JTextField getTfGang() {
		if (tfGang == null) {
			tfGang = new JTextField();
			tfGang.setBounds(new Rectangle(200, 276, 229, 34));
		}
		return tfGang;
	}

	/**
	 * This method initializes tfSchwierigkeitsgrad	
	 * @return  javax.swing.JTextField
	 * @uml.property  name="tfSchwierigkeitsgrad"
	 */
	private JTextField getTfSchwierigkeitsgrad() {
		if (tfSchwierigkeitsgrad == null) {
			tfSchwierigkeitsgrad = new JTextField();
			tfSchwierigkeitsgrad.setBounds(new Rectangle(201, 237, 227, 29));
		}
		return tfSchwierigkeitsgrad;
	}

	/**
	 * This method initializes tfName	
	 * @return  javax.swing.JTextField
	 * @uml.property  name="tfName"
	 */
	private JTextField getTfName() {
		if (tfName == null) {
			tfName = new JTextField();
			tfName.setBounds(new Rectangle(206, 94, 215, 38));
		}
		return tfName;
	}

	/**
	 * This method initializes tfZutaten	
	 * @return  javax.swing.JTextField
	 * @uml.property  name="tfZutaten"
	 */
	private JTextField getTfZutaten() {
		if (tfZutaten == null) {
			tfZutaten = new JTextField();
			tfZutaten.setBounds(new Rectangle(207, 142, 214, 32));
		}
		return tfZutaten;
	}

	/**
	 * This method initializes tfPreis	
	 * @return  javax.swing.JTextField
	 * @uml.property  name="tfPreis"
	 */
	private JTextField getTfPreis() {
		if (tfPreis == null) {
			tfPreis = new JTextField();
			tfPreis.setBounds(new Rectangle(207, 187, 219, 37));
		}
		return tfPreis;
	}

	/**
	 * This method initializes btStartseite	
	 * @return  javax.swing.JButton
	 * @uml.property  name="btStartseite"
	 */
	private JButton getBtStartseite() {
		if (btStartseite == null) {
			btStartseite = new JButton();
			btStartseite.setBounds(new Rectangle(494, 269, 142, 50));
			btStartseite.setText("Startseite");
			btStartseite.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					Startseite s = new Startseite();
					s.setVisible(true);	
					s.setLocation(400, 300);
					
					dispose();
					// TODO Auto-generated Event stub actionPerformed()
				}
			});
		}
		return btStartseite;
	}

	/**
	 * This method initializes btEnde	
	 * @return  javax.swing.JButton
	 * @uml.property  name="btEnde"
	 */
	private JButton getBtEnde() {
		if (btEnde == null) {
			btEnde = new JButton();
			btEnde.setBounds(new Rectangle(493, 334, 150, 48));
			btEnde.setText("Ende");
			btEnde.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()");
					System.exit(0);
					dispose();
					// TODO Auto-generated Event stub actionPerformed()
				}
			});
		}
		return btEnde;
	}

	/**
	 * This method initializes btRezeptAnlegen	
	 * @return  javax.swing.JButton
	 * @uml.property  name="btRezeptAnlegen"
	 */
	private JButton getBtRezeptAnlegen() {
		if (btRezeptAnlegen == null) {
			btRezeptAnlegen = new JButton();
			btRezeptAnlegen.setBounds(new Rectangle(494, 60, 134, 56));
			btRezeptAnlegen.setText("Rezept Anlegen");
			btRezeptAnlegen.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()");
					objSpeise.setName(tfName.getText());
					objSpeise.setZutaten(tfZutaten.getText());
					objSpeise.setPreis(Double.parseDouble(tfPreis.getText()));
					objSpeise.setSchwierigkeitsgrad(Integer.parseInt(tfSchwierigkeitsgrad.getText()));
					objSpeise.setGang(tfGang.getText());
					objSpeise.setRezept(tfRezept.getText());
					objSpeise.erfassen();
				
					objSpeise.setName(tfName.getText());
					objSpeise.suchen();
					objSpeise.zuweisen();
					this.anzeigen();}
					
					void anzeigen()
					{
						//Liste deklarieren
						
						String Liste;
						
						Liste="Name: "+objSpeise.getName();						      
					
						//Ausgabe der Werte in der Liste im Textarea
						
						      //SpeisenListe(jtGerichteauswahl.append(Liste));
					}
					
					// TODO Auto-generated Event stub actionPerformed()
				
			});
		}
		return btRezeptAnlegen;
	}

	/**
	 * This method initializes btLeeren	
	 * @return  javax.swing.JButton
	 * @uml.property  name="btLeeren"
	 */
	private JButton getBtLeeren() {
		if (btLeeren == null) {
			btLeeren = new JButton();
			btLeeren.setBounds(new Rectangle(491, 131, 138, 54));
			btLeeren.setText("Leeren");
			btLeeren.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()");
					tfName.setText("");
					tfZutaten.setText("");
					tfPreis.setText("");
					tfSchwierigkeitsgrad.setText("");
					tfGang.setText("");
					tfRezept.setText("");
					
					// TODO Auto-generated Event stub actionPerformed()
				}
			});
		}
		return btLeeren;
	}
	
}  //  @jve:decl-index=0:visual-constraint="16,10"


das waren die ersten 4 Klassen....und restlichen 3 folgen noch!!


VIEL SPAß......Ich hoffe ihr versteht mich jetzt besser und könnt mir vielleicht helfen:oops:
 

derRote

Aktives Mitglied
Hier wäre dann noch der Rest:


5.

Java:
package MEINKOCHBUCH;

import java.sql.*;

public class Speise {

	/**
	 * @uml.property  name="name"
	 */
	private String name;

	/**
	 * Getter of the property <tt>name</tt>
	 * @return  Returns the name.
	 * @uml.property  name="name"
	 */
	public String getName() {
		return name;
	}

	/**
	 * Setter of the property <tt>name</tt>
	 * @param name  The name to set.
	 * @uml.property  name="name"
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * @uml.property  name="zutaten"
	 */
	private String zutaten;

	/**
	 * Getter of the property <tt>zutaten</tt>
	 * @return  Returns the zutaten.
	 * @uml.property  name="zutaten"
	 */
	public String getZutaten() {
		return zutaten;
	}

	/**
	 * Setter of the property <tt>zutaten</tt>
	 * @param zutaten  The zutaten to set.
	 * @uml.property  name="zutaten"
	 */
	public void setZutaten(String zutaten) {
		this.zutaten = zutaten;
	}

	/**
	 * @uml.property  name="preis"
	 */
	private double preis;

	/**
	 * Getter of the property <tt>preis</tt>
	 * @return  Returns the preis.
	 * @uml.property  name="preis"
	 */
	public double getPreis() {
		return preis;
	}

	/**
	 * Setter of the property <tt>preis</tt>
	 * @param preis  The preis to set.
	 * @uml.property  name="preis"
	 */
	public void setPreis(double preis) {
		this.preis = preis;
	}

	/**
	 * @uml.property  name="schwierigkeitsgrad"
	 */
	private int schwierigkeitsgrad;

	/**
	 * Getter of the property <tt>schwierigkeitsgrad</tt>
	 * @return  Returns the schwierigkeitsgrad.
	 * @uml.property  name="schwierigkeitsgrad"
	 */
	public int getSchwierigkeitsgrad() {
		return schwierigkeitsgrad;
	}

	/**
	 * Setter of the property <tt>schwierigkeitsgrad</tt>
	 * @param schwierigkeitsgrad  The schwierigkeitsgrad to set.
	 * @uml.property  name="schwierigkeitsgrad"
	 */
	public void setSchwierigkeitsgrad(int schwierigkeitsgrad) {
		this.schwierigkeitsgrad = schwierigkeitsgrad;
	}

	/**
	 * @uml.property  name="gang"
	 */
	private String gang;

	/**
	 * Getter of the property <tt>gang</tt>
	 * @return  Returns the gang.
	 * @uml.property  name="gang"
	 */
	public String getGang() {
		return gang;
	}

	/**
	 * Setter of the property <tt>gang</tt>
	 * @param gang  The gang to set.
	 * @uml.property  name="gang"
	 */
	public void setGang(String gang) {
		this.gang = gang;
	}

	/**
	 * @uml.property  name="rezept"
	 */
	private String rezept;

	/**
	 * Getter of the property <tt>rezept</tt>
	 * @return  Returns the rezept.
	 * @uml.property  name="rezept"
	 */
	public String getRezept() {
		return rezept;
	}

	/**
	 * Setter of the property <tt>rezept</tt>
	 * @param rezept  The rezept to set.
	 * @uml.property  name="rezept"
	 */
	public void setRezept(String rezept) {
		this.rezept = rezept;
	}

	//Objekt für die Aufnahme von Abfrageergebnissen
	ResultSet objErgebnis = null;
	
	public void erfassen()
	{
		String mSQL; //Zugriffsobjekt wird erzeugt
		DBZugriff objZugriff = new DBZugriff();  //SQL_Befehl zum Einfügen der Artikeldaten wird in einer Variablen abgelegt
		mSQL= "INSERT INTO Rezeptverwaltung (Name, Zutaten, Preis, Schwierigkeitsgrad, Gang, Rezept)"+"VALUES ('"+
		this.name+"'"+this.zutaten+"'"+this.preis+"'"+this.schwierigkeitsgrad+"'"+this.gang+"'"+this.rezept+
		")";
		objZugriff.oeffnen();
		objZugriff.aendern(mSQL);
		objZugriff.schliessen();
	}
	
//prz zum Ändern von Daten
	
	public void korrigieren()
	{
	//Variable für die SQL-Anweisung
	String mSQL;
	//Zugriffsobjekt wird erzeugt
	DBZugriff objZugriff = new DBZugriff();
	//SQL-Befehl zum Abändern der Artikekdaten wird in einer Variablen abgelegt
	mSQL = "UPDATE Rezeptverwaltung SET Name='"+this.name+"',Zutaten='"+this.zutaten+"',Preis="+this.preis+",Schwierigkeitsgrad="+this.schwierigkeitsgrad+",Gang="+this.gang+",Rezept="+this.rezept+
	//Anführungszeuichen muss direkt vor where sein
	"WHERE Name='"+this.name+"'";
	
	objZugriff.oeffnen();
	objZugriff.aendern(mSQL);
	objZugriff.schliessen();
		
	}	
	
//prz um Artikel zu löschen
	
	public void loeschen()
	{
	//Variable für die SQL-Anweisung
	String mSQL;
		//Zugriffsobjekt wird erzeugt
		DBZugriff objZugriff = new DBZugriff();
		//SQL-Befehl zum Löschen der Artikeldaten wird in einer Variablen abgelegt
		mSQL="DELETE FROM Rezeptverwaltung WHERE Name='"+this.name+"'";
		
		objZugriff.oeffnen();
		objZugriff.aendern(mSQL);
		objZugriff.schliessen();
	}
	
//prz um Artikel zu suchen
	
	public void suchen()
	{
		try
		{
		//Variable für die SQL-Anweisung
		String mSQL;
		//Zugriffsobjekt wird erzeugt
		DBZugriff objZugriff = new DBZugriff();
		//SQL-Befehl zum Löschen der Artikeldaten wird in einer Variablen abgelegt
		mSQL = "SELECT * FROM Rezeptverwaltung WHERE Name = '"+this.name+"'";
		objZugriff.oeffnen();
		//Methode zur Ausführung der SQL-Abfrage wird aufgerufen und das Ergebnis der Abfrage in einem Objekt der Klasse ResultSet hinterlegt
		objErgebnis = objZugriff.lesen(mSQL);
		}
		catch (Exception e)
		{
			System.out.println("Suche fehllgeschlagen!");
		}
	}
	
//prz um Datensatz einrem Ergebnisobjekt zuzuweisen
	
	public void zuweisen()
	{
		try
		{
		//Zeiger wird auf den nächsten Datensatz im Ergebnisobjekt gerichtet
		objErgebnis.next();
		//einem Objekt der Fachklasse Artikel werden die entsprechenden Attributswerte des Datensatzes aus der Datenbankabfrage zugewiesen
		this.name=objErgebnis.getString("name");
		this.zutaten=objErgebnis.getString("zutaten");
		this.preis=objErgebnis.getDouble("preis");
		this.schwierigkeitsgrad=objErgebnis.getInt("schwierigkeitsgrad");
		this.gang=objErgebnis.getString("gang");
		this.rezept=objErgebnis.getString("rezept");
		}
		catch (Exception e)
		{
			System.out.println("Zuweisung Ergebnisobjekt fehlgeschlagen!");
		}
	}
	
}


6.

Java:
package MEINKOCHBUCH;

import java.awt.Frame;
import java.awt.Dimension;
import javax.swing.JLabel;
import java.awt.Rectangle;
import javax.swing.JButton;
import javax.swing.JTextArea;
import javax.swing.JTable;

public class SpeisenListe extends Frame {

	private static final long serialVersionUID = 1L;
	private JLabel jlGerichteauswahl = null;
	private JButton btStartseite = null;
	private JButton btEnde = null;
	private JTable jtGerichteauswahl = null;
	/**
	 * This is the default constructor
	 */
	public SpeisenListe() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		jlGerichteauswahl = new JLabel();
		jlGerichteauswahl.setBounds(new Rectangle(197, 36, 100, 35));
		jlGerichteauswahl.setText("Gerichteauswahl");
		this.setLayout(null);
		this.setSize(534, 312);
		this.setTitle("SpeisenListe");

		this.add(jlGerichteauswahl, null);
		this.add(getBtStartseite(), null);
		this.add(getBtEnde(), null);
		this.add(getJtGerichteauswahl(), null);
	}

	/**
	 * This method initializes btStartseite	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtStartseite() {
		if (btStartseite == null) {
			btStartseite = new JButton();
			btStartseite.setBounds(new Rectangle(35, 239, 170, 50));
			btStartseite.setText("Startseite");
			btStartseite.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					
					Startseite s = new Startseite();
					s.setVisible(true);	
					s.setLocation(400, 300);
					dispose();
					// TODO Auto-generated Event stub actionPerformed()
				}
			});
		}
		return btStartseite;
	}

	/**
	 * This method initializes btEnde	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtEnde() {
		if (btEnde == null) {
			btEnde = new JButton();
			btEnde.setBounds(new Rectangle(303, 238, 171, 51));
			btEnde.setText("Ende");
			btEnde.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					
					System.exit(0);
					dispose();
					
					// TODO Auto-generated Event stub actionPerformed()
				}
			});
		}
		return btEnde;
	}

	/**
	 * This method initializes jtGerichteauswahl	
	 * 	
	 * @return javax.swing.JTable	
	 */
	private JTable getJtGerichteauswahl() {
		if (jtGerichteauswahl == null) {
			jtGerichteauswahl = new JTable();
			jtGerichteauswahl.setBounds(new Rectangle(45, 86, 417, 134));
			
		}
		return jtGerichteauswahl;
	}

}  //  @jve:decl-index=0:visual-constraint="3,-17"


7.

Java:
package MEINKOCHBUCH;
import java.awt.GridLayout;
import javax.swing.*;
import java.awt.Frame;
import java.awt.Dimension;
import javax.swing.JLabel;
import java.awt.Rectangle;
import java.awt.event.KeyEvent;

import javax.swing.JCheckBox;
import javax.swing.JSlider;
import javax.swing.JButton;
import javax.swing.JTable;

public class SpezielleGerichteSuchen extends Frame {

	private static final long serialVersionUID = 1L;
	private JLabel jlGerichteSuche = null;
	private JCheckBox cbVorspeise = null;
	private JCheckBox cbHauptgericht = null;
	private JCheckBox cbDessert = null;
	private JSlider sPreis = null;
	private JLabel jlPreis = null;
	private JSlider sSchwierigkeitsgrad = null;
	private JLabel jlSchwierigkeitsgrad = null;
	private JButton btStartseite = null;
	private JButton btEnde = null;
	private JTable jTable = null;

	/**
	 * This is the default constructor
	 */
	public SpezielleGerichteSuchen() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		jlSchwierigkeitsgrad = new JLabel();
		jlSchwierigkeitsgrad.setBounds(new Rectangle(44, 288, 121, 16));
		jlSchwierigkeitsgrad.setText("Schwierigekeitsgrad");
		jlPreis = new JLabel();
		jlPreis.setBounds(new Rectangle(83, 214, 34, 16));
		jlPreis.setText("Preis");
		jlGerichteSuche = new JLabel();
		jlGerichteSuche.setBounds(new Rectangle(192, 41, 231, 34));
		jlGerichteSuche.setText("Gerichte Suche");
		this.setLayout(null);
		this.setSize(605, 433);
		this.setTitle("SpezielleGerichteSuche");

		this.add(jlGerichteSuche, null);
		this.add(getCbVorspeise(), null);
		this.add(getCbHauptgericht(), null);
		this.add(getCbDessert(), null);
		this.add(getSPreis(), null);
		this.add(jlPreis, null);
		this.add(getSSchwierigkeitsgrad(), null);
		this.add(jlSchwierigkeitsgrad, null);
		this.add(getBtStartseite(), null);
		this.add(getBtEnde(), null);
		this.add(getJTable(), null);
	}

	/**
	 * This method initializes cbVorspeise	
	 * 	
	 * @return javax.swing.JCheckBox	
	 */
	private JCheckBox getCbVorspeise() {
		if (cbVorspeise == null) {
			cbVorspeise = new JCheckBox();
			cbVorspeise.setBounds(new Rectangle(21, 95, 152, 29));
			cbVorspeise.setText("Vorspeise");
			cbVorspeise.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
				
		
					// TODO Auto-generated Event stub actionPerformed()
				}
			});
		}
		return cbVorspeise;
	}

	/**
	 * This method initializes cbHauptgericht	
	 * 	
	 * @return javax.swing.JCheckBox	
	 */
	private JCheckBox getCbHauptgericht() {
		if (cbHauptgericht == null) {
			cbHauptgericht = new JCheckBox();
			cbHauptgericht.setBounds(new Rectangle(23, 132, 151, 28));
			cbHauptgericht.setText("Hauptgericht");
			cbHauptgericht.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
				}
			});
		}
		return cbHauptgericht;
	}

	/**
	 * This method initializes cbDessert	
	 * 	
	 * @return javax.swing.JCheckBox	
	 */
	private JCheckBox getCbDessert() {
		if (cbDessert == null) {
			cbDessert = new JCheckBox();
			cbDessert.setBounds(new Rectangle(22, 165, 152, 26));
			cbDessert.setText("Dessert");
			cbDessert.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
				}
			});
		}
		return cbDessert;
	}

	/**
	 * This method initializes sPreis	
	 * 	
	 * @return javax.swing.JSlider	
	 */
	private JSlider getSPreis() {
		if (sPreis == null) {
			sPreis = new JSlider();
			sPreis.setBounds(new Rectangle(23, 237, 151, 29));
			sPreis.addChangeListener(new javax.swing.event.ChangeListener() {
				public void stateChanged(javax.swing.event.ChangeEvent e) {
					System.out.println("stateChanged()");
				
					  {
					    SpezielleGerichteSuche frame = new SpezielleGerichteSuche();
					    frame.setDefaultCloseOperation( SpezielleGerichteSuche.EXIT_ON_CLOSE );
					    frame.setLayout( new GridLayout(4,0) );
					    JSlider slider1 = new JSlider( 0, 100, 50 );
					    frame.add( slider1 );
					    JSlider slider2 = new JSlider( 0, 100, 50 );
					    slider2.setPaintTicks( true );
					    slider2.setMinorTickSpacing( 5 );
					    frame.add( slider2 );
					    JSlider slider3 = new JSlider( 0, 100, 50 );
					    slider3.setPaintTicks( true );
					    slider3.setMajorTickSpacing( 10 );
					    frame.add( slider3 );
					    frame.pack();
					    frame.setVisible( true );
					  }
					
					
					
					// TODO Auto-generated Event stub stateChanged()
				}
			
		});}
		return sPreis;
	}

	/**
	 * This method initializes sSchwierigkeitsgrad	
	 * 	
	 * @return javax.swing.JSlider	
	 */
	private JSlider getSSchwierigkeitsgrad() {
		if (sSchwierigkeitsgrad == null) {
			sSchwierigkeitsgrad = new JSlider();
			sSchwierigkeitsgrad.setBounds(new Rectangle(27, 311, 149, 28));
			sSchwierigkeitsgrad.addChangeListener(new javax.swing.event.ChangeListener() {
				public void stateChanged(javax.swing.event.ChangeEvent e) {
					System.out.println("stateChanged()"); 
					
					{
					    JFrame frame = new JFrame();
					    frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
					    frame.setLayout( new GridLayout(4,0) );
					    JSlider slider1 = new JSlider( 0, 100, 50 );
					    frame.add( slider1 );
					    JSlider slider2 = new JSlider( 0, 100, 50 );
					    slider2.setPaintTicks( true );
					    slider2.setMinorTickSpacing( 5 );
					    frame.add( slider2 );
					    JSlider slider3 = new JSlider( 0, 100, 50 );
					    slider3.setPaintTicks( true );
					    slider3.setMajorTickSpacing( 10 );
					    frame.add( slider3 );
					    JSlider slider4 = new JSlider ( 0, 100, 50 );
					    slider1.setPaintTicks(true);
					    slider1.setMajorTickSpacing( 10 );
					    slider1.setMinorTickSpacing( 2 );
					    frame.add( slider4 );
					    frame.pack();
					    frame.setVisible( true );
					  }
					
					
					
					// TODO Auto-generated Event stub stateChanged()
				}
			});
		}
		return sSchwierigkeitsgrad;
	}

	/**
	 * This method initializes btStartseite	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtStartseite() {
		if (btStartseite == null) {
			btStartseite = new JButton();
			btStartseite.setBounds(new Rectangle(26, 370, 164, 38));
			btStartseite.setText("Startseite");
			btStartseite.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					
					Startseite s = new Startseite();
					s.setVisible(true);	
					s.setLocation(400, 300);
					dispose();
					
					// TODO Auto-generated Event stub actionPerformed()
				}
			});
		}
		return btStartseite;
	}

	/**
	 * This method initializes btEnde	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtEnde() {
		if (btEnde == null) {
			btEnde = new JButton();
			btEnde.setBounds(new Rectangle(246, 370, 200, 39));
			btEnde.setText("Ende");
			btEnde.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					
					System.exit(0);
					dispose();
					
					// TODO Auto-generated Event stub actionPerformed()
				}
			});
		}
		return btEnde;
	}

	/**
	 * This method initializes jTable	
	 * 	
	 * @return javax.swing.JTable	
	 */
	private JTable getJTable() {
		if (jTable == null) {
			jTable = new JTable();
			jTable.setBounds(new Rectangle(249, 93, 300, 239));
		}
		return jTable;
	}
	
}  //  @jve:decl-index=0:visual-constraint="10,10"
 
S

SlaterB

Gast
ein weiteres Mal die Klassen gepostet, die schon bekannt sind, was auch gesagt wurde,
und ein weiteres Mal nicht den String gepostet, nicht die Benutzereingaben verraten (*), die ja niemand erahnen kann,
für den Programmablauf aber entscheidende Funktion haben

nettes Kunststück oder wirklich aktiv Spass-Poster


(*) vor einiger Zeit kam durch die Fehlermeldung, nicht direkt von dir, bereits eine Eingabe a la 'gfdsgy'bhfday'5.0'54'5'gfeha' zum Vorschein,
was dieses komplette Kauderwelsch bedeuten soll hast du aber nie kommentiert

-----

edit:
ok, nun wirds doch durch den Code deutlicher
Java:
       mSQL= "INSERT INTO Rezeptverwaltung (Name, Zutaten, Preis, Schwierigkeitsgrad, Gang, Rezept)"+"VALUES ('"+
        this.name+"'"+this.zutaten+"'"+this.preis+"'"+this.schwierigkeitsgrad+"'"+this.gang+"'"+this.rezept+
        ")";
        objZugriff.oeffnen();
        objZugriff.aendern(mSQL);
erstmals sieht man deine Fehler und kann anfangen zu arbeiten,
durch Posten des SQL-Strings wäre es genauso dazu gekommen,
warum du mit diesen Informationen so lange gewartet hast..

- vor dem VALUES vielleicht besser noch ein Leerzeichen,
- zwischen jedem Wert gehört nicht nur ein einfaches Anführungszeichen ' sondern drei Zeichen: ','
- nach rezept vor der Klammer muss auch noch ein Anführungszeichen, genauso am Anfang vor name


übe doch erstmal SQL mit direkten fertigen SQL-Strings statt Variablen zusammenzusetzen,
dann lernst du ungefähr was Anführungszeichen und Komma dort für eine Bedeutung haben

und wenn komplizierter, dann fange mit einfachen Tabellen mit EINEM Attribut an, nicht gleich wer weiß wie viele auf einmal,

allein schon die Arbeit, alles ständig in die GUI einzutippen,
arbeite immer zuerst mit einem Konsolenprogramm bzw. komplett ohne Eingaben,
String x = "dummy1";
kannst du auch direkt im Programm mit Testwerten definieren
 
Zuletzt bearbeitet von einem Moderator:

derRote

Aktives Mitglied
aha...
hatte eig schon n anderen Kommentar vorbereited... da ich ihn geschrieben habe, werd ich ihn uch posten ... :D

"
Ja SlaterB, wie du richtig erkannt hast, poste ich gerne und deswegen viel :)

ich hab eben einfach mla alle meine Klassen geposted, damit ihr vll nachvollziehen könnt, was ich vorhabe.

Wiedereinml stoße ich an meine vokabularischen grenzen und frage mich ob mir jemand deinen Komentar übersetzen kann ... zum einen scheiter ich an dem Begriff "String", zum anderen an "Benutzereingaben" ... da denke ich mir nur: WTF?!?

Ich habe meines Wissens einmal dazu Stellung bezogen, jetzt erkläre ich es einfach so, wie ich mir deine Erklärung auch wünschen würde:

Zeite ist Geld und Geld ist Macht, um Zeit zu Sparen gebe ich also in meine Textfelder einfach mal puren Kauderwelsch a là "asfdghjj" ...wenn du das mal testen möchtest, nimm einfach mal deinen [als Rechtshänder!] rechten zeigefinger und setze bei der "a" taste die durch ein großes "a" dargestelt wird an und ziehe in quer über die tastatur hin und her, vor und zurück und um Würze in die Sache zu bringen auch mal ein wenig hoch und runter.

lg dein Roter :)
"

als ich gemerkt habe, das der Groschen dann doch gefallen war muss ich sagen:
muchas dankeschön und ich werds direkt mal probieren ...

in diesem sinne, lg ^^

also ... änderungen übernommen ^^
aber fressen tut die maschiene den hunz immernoch nicht ...
ergebnis in der Console:

Zuweisung fehlgeschlagen!
Zuweisung Ergebnisobjekt fehlgeschlagen!
 
S

SlaterB

Gast
an den Tipps der aller ersten Antworten hier hat sich nichts geändert, bzw. sie passten auf alle Threads, schon immer, in alle Zukunft
und sowieso ;)

- ruhig dann doch immer neuen Code posten, auch wenn kritisiert, möglichst nicht zig Klassen nochmal,
sondern das was du da gerade entscheidend geändert hast

und ganz besonders wie zuvor:
- die Fehlermeldung bei dir ausgeben lassen und hier posten!
- den fertigen String mit der SQL-Anweisung posten, mal sehen ob er hier im Forum je einmal komplett ans Licht kommt
 

derRote

Aktives Mitglied
Hier sind meine Änderungen:

Java:
public void erfassen()
	{
		String mSQL; //Zugriffsobjekt wird erzeugt
		DBZugriff objZugriff = new DBZugriff();  //SQL_Befehl zum Einfügen der Artikeldaten wird in einer Variablen abgelegt
		mSQL= "INSERT INTO Rezeptverwaltung '(Name, Zutaten, Preis, Schwierigkeitsgrad, Gang, Rezept')"+" VALUES (','"+
		this.name+"','"+this.zutaten+"','"+this.preis+"','"+this.schwierigkeitsgrad+"','"+this.gang+"','"+this.rezept+
		")";
		objZugriff.oeffnen();
		objZugriff.aendern(mSQL);
		objZugriff.schliessen();
	}

Neue Fehlermeldung kennt ihr ja schon....
 
S

SlaterB

Gast
das geforderte Anführungszeichen hinter rezept fehlt weiterhin,
vor name genauso nur ein Anführungszeichen, keine 3er-Kombi

edit: also vor der name-Variable,
am Anfang bei
"INSERT INTO Rezeptverwaltung '(Name"
KEIN Anführungszeichen..,
ach dort hast du dann auch für Rezept eins.., nene, weit hinten



willst du SQL weiter nach Baukasten blind zusammenbauen?
ich persönlich beende in Kürze die Teilnahme an diesem lustigen Spiel
 
Zuletzt bearbeitet von einem Moderator:

derRote

Aktives Mitglied
So vielleicht??

Java:
public void erfassen()
	{
		String mSQL; //Zugriffsobjekt wird erzeugt
		DBZugriff objZugriff = new DBZugriff();  //SQL_Befehl zum Einfügen der Artikeldaten wird in einer Variablen abgelegt
		mSQL= "INSERT INTO Rezeptverwaltung ('Name, Zutaten, Preis, Schwierigkeitsgrad, Gang, Rezept')'"+" VALUES (','"+
		this.name+"','"+this.zutaten+"','"+this.preis+"','"+this.schwierigkeitsgrad+"','"+this.gang+"','"+this.rezept+
		")";
		objZugriff.oeffnen();
		objZugriff.aendern(mSQL);
		objZugriff.schliessen();
	}

Warum dieses Spiel beenden??...des is berhaupt kein Spiel... für mich is des ne ernste Sache und ich komm nicht weiter....

Des is ja doof, da geht man in ein Forum, damit man Hilfe bekommt und dann wird nicht mal bis zum Schluß geholfen.....;(
 
S

SlaterB

Gast
hierbei werde ich schon zu Ende helfen,
ich sage dir nur dass du leichtfertig durch diese unsinnigen Fragen die vielleicht beste Hilfe verspielst
die du hier bekommen kannst (auch wenn ich mich dabei gerade selber lobe ;) )

und dass du überhaupt kein SQL kannst, sondern andere Anführungszeichen setzen läßt,
ist keine echte Hilfe für ein Forum, sondern Arbeitsübertragung..

Java:
        mSQL= "INSERT INTO Rezeptverwaltung (Name, Zutaten, Preis, Schwierigkeitsgrad, Gang, Rezept) VALUES ('"+
            this.name+"','"+this.zutaten+"','"+this.preis+"','"+this.schwierigkeitsgrad+"','"+this.gang+"','"+this.rezept+"')";
        objZugriff.oeffnen();
        objZugriff.aendern(mSQL);
        objZugriff.schliessen();
wenn es soweit hoffentlich die erste syntaktische Hürde nimmt, kann es natürlich noch zu vielen anderen Fehlern kommen,
etwa dass man Zahlen gar nicht in Hochkommas setzen soll, je nach Definition der DB-Felder


SQL musst du für sich lernen, da führt kein Weg vorbei,
wobei das Setzen von Anführungszeichen eher ein allgemeiner Intelligenz-Test ist, kann man kaum erlernen
 

ARadauer

Top Contributor
- zwischen jedem Wert gehört nicht nur ein einfaches Anführungszeichen ' sondern drei Zeichen: ','
weißt du was slater, gestern abend um 20:20 hatte ich schon die vermutung, dass einfach die Beistriche im Query fehlen... ich hatte es sogar schon stehen.
Aber nachdem er mir nach der Frage zum Query den ganzen Quellcode gepostest hat, dachte ich mir er verarscht mich..

ich persönlich beende in Kürze die Teilnahme an diesem lustigen Spiel
ich gebs auch auf...

zum einen scheiter ich an dem Begriff "String", zum anderen an "Benutzereingaben"
das ist lächerlich, du kannst keine Datenbankanwendung schreiben, wenn du nicht weißt was eine Eingabe vom Benutzer ist. Das geht nicht.
Der Begriff String ist so grundlegend. Wie willst du ein Autorennenfahren wenn du nicht weißt was Lenkrad bedeutet?

Du schickst Abfragen an eine Datenbank, wir fragen seit 2 Tagen was du genau an die Datenbank schickst. Das ist der Inhalt vom String mSQL.
Normalerweise würde man einfach die SQL Fehlermeldung posten und den String den man hin geschickt hast, dann wird dir nach 5 Minuten geholfen.

Aber du postest nach 5 mal nachfragen, immer das was du bei einem Fehler selber ausgibst.
"Zuweisung fehlgeschlagen!" :toll:

für mich is des ne ernste Sache und ich komm nicht weiter
Sorry, falls es eine Ausbildung oder Studium naja da bist du denk ich falsch...
Falls das einfach irgend ein Nebenfach im Abi ist ja dann gib halt irgendjemand € 200 für die Lösung und gut is....
Ich kann dir leider nicht helfen, wenn du nicht weißt was ein String ist..... sorry
 

derRote

Aktives Mitglied
1. Danke für deinen Post

2. Habe ich in der 12. Klasse im Unterricht SQL gelernt und dies auch auf Java übertragen wie ich es auch in der Schule gelernt habe

3. Kann ich sehr wohl Kommas richtig setzen, leider habe ich es einfach so gelernt wie es unsere Lehrerin es uns gezeigt hat:oops:

Ich gebs bald auch auf hier.... und werde dieses Forum auch sicher nicht weiterempfehlen....
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M MySQL Anbindung und Abfrage an die Datenbank Datenbankprogrammierung 2
S Anbindung zur mysql von mit Swing und AWT Datenbankprogrammierung 22
H Datenbank-Anbindung Java/MySQL Datenbankprogrammierung 2
B DB Anbindung über Tomcat Datenbankprogrammierung 16
F Oracle Oracle JDBC Anbindung unter Glassfish 3.1.2 Datenbankprogrammierung 3
S Anbindung einer Datenbank an Java Datenbankprogrammierung 7
H MySQL Programm mit Datenbank anbindung Datenbankprogrammierung 26
T Anbindung von Hibernate an JSP Datenbankprogrammierung 6
Z Anbindung von Datenbank an Java Datenbankprogrammierung 2
P DB-Anbindung Datenbankprogrammierung 13
P MySQL-Anbindung Datenbankprogrammierung 4
Dragonfire Entwurfsfragen zur Anbindung an einer MySQL DB - Klassenstruktur zum Data Model Datenbankprogrammierung 5
A MySQL Anbindung - Exception Handling Datenbankprogrammierung 2
F MYSQL Anbindung Datenbankprogrammierung 14
R oracle Anbindung geht im jar nicht Datenbankprogrammierung 8
A Problem mit der Anbindung zur hsqldb Datenbankprogrammierung 18
G anbindung an sqlserver unter windows Datenbankprogrammierung 7
G Anbindung zu JDBC Datenbankprogrammierung 6
K MySQL Anbindung Datenbankprogrammierung 2
P SQL Doppelte Zuweisung von Personalnummern Datenbankprogrammierung 6
G ID zuweisung eines TerminKalenders (mehrere Kalender) Datenbankprogrammierung 8
D Übersichtliche Zuweisung von Daten in Tabellen Datenbankprogrammierung 17
P Datenbank Zugriff fehlgeschlagen Datenbankprogrammierung 9
D .mdb Datenbank Zugriff fehlgeschlagen Datenbankprogrammierung 5
B Abfragen fehlgeschlagen Datenbankprogrammierung 6

Ähnliche Java Themen

Neue Themen


Oben