# Problem mit ActionListener



## Gast (17. Jun 2004)

Servus Leute...
Ich bin noch relativ neu in Java, deswegen habe ich zu Testzwecken mal versucht einfaches Gästebuch zu schreiben, bei dem durch Knopfdruck die Werte der Textfelder in eine MySQL Datenbank eingetragen werden.
Irgendwie haut es aber nicht hin. Ich denk mal es liegt an dem ActionListener, weiss aber nicht genau warum...
Ich hoffe ihr könnt mir weiter helfen... 


```
public class Guestbook extends Applet
{
  String name;
  String eintrag;
  Button speichern = new Button ("eintragen");


      public Guestbook()
      {
	setLayout(new FlowLayout());
                TextField tf1 = new TextField("Ihr Name",20);
                System.out.print("\n");
    	TextArea ta2 = new TextArea("Ihr Text",5,50);

    	add(tf1);
    	add(ta2);

    	String name = tf1.getText();
    	String eintrag = ta2.getText();

	add(speichern);

    	        ActionListener al = new ActionListener()
    	        {
     		public void actionPerformed( ActionEvent e )
     		{
	                     try
	                        {
		        DB_in();
		         }
	                     catch (Exception e)
                                         {
		         System.out.println(e);
		         }
		}
		speichern.add.ActionListener(al); => Hier kommt als Fehlermeldung immer "identifier expected"
	              };
	        };

	       public void DB_in() throws Exception
	        {
	            try
	            {

		Class.forName( "com.mysql.jdbc.Driver" );
		Connection conn;
		Statement stmt;
		conn = DriverManager.getConnection( "jdbc:mysql://Localhost/guestbook", "mk79", "hallo" );
	                stmt = conn.createStatement();
		ResultSet rSet;
                	String updateString = 
                                 "INSERT INTO eintraege(name,text) VALUES ( '"+ name +"'," + eintrag + ")";
		stmt.executeUpdate( updateString );
		.
                                .
                                .
```


----------



## Roar (17. Jun 2004)

Gast hat gesagt.:
			
		

> speichern.add.ActionListener(al); => Hier kommt als Fehlermeldung immer "identifier expected"



was soll das sein? sowas gibts nicht. damit das so gehe nmüsste müsste add eine variable in Button sein. die methode heisst addActionListener() und da werden keine punkte reingesetzt

vielleicht soltlest du dir mal etwas weniger schwieriges zum anfang aussuchen als ein Appplet mit datenbankanbindung...


----------



## Beni (17. Jun 2004)

a) Wenn du ein Frischling bist (wenn auch mit c++ Erfahrung, wenn ich deinen Code richtig deute), beginn doch auch mit was einfachem...

b) Bitte formatiere den Code so, dass man ihn lesen kann.

c) Bitte Poste *die ganze Fehlermeldung*

d) Solche Fragen gehören sonst eher in den Bereich "Allgemeines"

e) Und wenn du das alles gemacht hast, überprüf mal die Klammerung. "speichern" befindet sich in einem {}, in dem es nicht sein sollte.

mfg Beni


----------



## Gast (17. Jun 2004)

Ja, sorry für den Code... ich hatte ihn vorher eigentlich ausgerichtet aber leider hat er sich dann so verschoben.
Und zu den Punkten bei "addActionlistener", die hatte ich nur zu Testzwecken da rein gesetzt, weil ich vermutete das es eventuell daran liegen könnte. Hab beim kopieren des Quelltextes vergessen es zu ändern...

Die Fehlermedlung lautet: <indentifier> expected, speichern.addActionListener(al);
                                                                                                                 ^


----------



## Gast (17. Jun 2004)

Es wird diese stelle markiert speichern.addActionListener =>(al);


----------



## Roar (17. Jun 2004)

du hast du klammern falsch gesetzt. dein speichern.addActinoListener steht noch in der inneren ActionListener klasse drin.

edit: außerdem kommt nach der klammer die die methode abschließt kein semikolon.


----------



## Gast (18. Jun 2004)

Super es geht jetzt soweit...DANKE...
Allerdings hab ich als neues Problem jetzt, das er in die Datenbank jeweils nur die Werte "NULL" einträgt, sprich bei der Übergabe der Werte aus dem Textfeld an die Variablen "name & eintrag" ist noch ein Fehler...
Hat jemand eine Idee?


----------



## Gast (21. Jun 2004)

Kann man mit  "String name = tf1.getText();"  überhaupt die Werte aus dem Textfeld in die Varibale speichern? Irgendwie kommt es mir nicht so vor...


----------

