# Problem beim Einlesen von Werten aus einem Textfeld



## Keule (23. Jun 2004)

Es tut mir ja Leid Leute, aber ich muss euch nochmal mit meinem Problem belästigen...

Und zwar funktioniert zwar das Eintragen in die Datenbank jetzt, aber es wird jeweils nur "NULL" eingetragen. Demzufolge stimmt wohl irgendwas mit der Übergabe der Werte aus dem Textfeld nicht... ???:L 

Hat jemand eine Ahnung ob wie ich das hinkriegen könnte?


```
import java.awt.event.*;
import javax.swing.*;
import java.applet.*;
import java.awt.*;
import java.sql.*;
import java.io.*;
import javagently.*;

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();


    		//PARAMETER ÜBERGABE RECHERCHIEREN

			add(speichern);

    		ActionListener al = new ActionListener()
    			{
     				public void actionPerformed( ActionEvent e )
     				{
			        	try
			        	{
						DB_in();
						}
			       	 	catch (Exception a)
			        	{
							System.out.println(a);
						}
			    	}


				};
				speichern.addActionListener(al);
	}

			   public void DB_in() throws Exception
			    {
			    	try
			    	{
					Class.forName( "com.mysql.jdbc.Driver" );
					Connection conn;
					Statement stmt;
					conn = DriverManager.getConnection( "jdbc:mysql://Localhost/guestbook", "ich", "pw" );
					stmt = conn.createStatement();
					ResultSet rSet;

			    	String updateString = "INSERT INTO eintraege(name,text) VALUES ( '"+ name2 +"'," + eintrag2 + ")";
					stmt.executeUpdate( updateString );
					System.out.println("");
					System.out.println("---Eintrag---");
					System.out.println("");
					String sqlQuery = "SELECT name,text  FROM eintraege ORDER BY e_id ASC";
					rSet = stmt.executeQuery( sqlQuery );
					while ( rSet.next() )
					System.out.println ( rSet.getString(1) + " \n " + rSet.getString(2) + "Punkt(e) \n" );
					}
					catch (Exception a)
					{
					System.out.println(a);
					}
}
}
```


----------



## Pulvertoastman (23. Jun 2004)

Du hast die Variable _eintrag_ und _name _ doppelt definiert. Beim auslesen aus dem Textfeld liest du nicht in die Klassenvariablen, sonder in die Methodenlokalen Variablen ein.


----------



## Gast (23. Jun 2004)

Das heisst, ich müsste nur die globalen Varibalen name & eintrag entfernen und dann sollte es gehen...


----------



## bygones (23. Jun 2004)

kommt drauf an - wenn du die beiden variablen nicht mehr gobal brauchst also nur lokal....


----------



## Gast (23. Jun 2004)

Leute hat sich endlich erledigt...  :idea: 
Ich hatte vergessen bei der zweiten Variable im "INSERT" - Befehl die '....' zu setzen... 
jetzt gehst es endlich... 

habt vielen Dank...  :toll:


----------



## Pulvertoastman (23. Jun 2004)

Damit hast du wohl das Insert abgeschlossen, dein Problem der doppelten Definition der Variablen bleibt jedoch bestehen.


----------



## Gast (23. Jun 2004)

Stimmt, ich war etwas voreilig... Jetzt trägt er immerhin schon die Werte ein die ich Standardmäßig vorgegeben hab...


----------



## P3AC3MAK3R (23. Jun 2004)

Verschoben: JDBC.


----------



## Gast (23. Jun 2004)

So, jetzt aber... ich hab einfach die Textfelder global definiert das man von überall auf sie zugreifen kann, und hab den gettext befehl dem Action Listener zugeordnet.


----------



## Guest (23. Jun 2004)

Jetzt funtioniert es so wie ich es mir vorgestellt hab... nochmals Danke...


----------



## Bill Selevan (19. Feb 2008)

This my test message n1


----------



## Bell Rainord (4. Mrz 2008)

my first test message #5


----------

