# Datenbank in diese Klasse einfügen



## !nDeX (29. Sep 2004)

Hallo Leute vielleicht könnt ihr mir helfen...ich versuche schon verzweifelt meine Datenbank in diese Klasse einzufügen...die Daten sollen dann in die einzelnen Textfelder eingelesen werden...nur leider versteh ich nicht wie...habe auch schon sämtliche Tuts durchgelesen und bin da nicht ganz durchgestiegen.

Ich poste ich mal die Klasse.

```
import java.awt.event.*;
import java.awt.*;

import javax.swing.*;


public class Banking2 extends JFrame implements ActionListener {

    JButton button, button2;
    
	public static void main(String[] args) {
		new Banking2( "Bankmanagement");
	
	}
	
	public Banking2( String titel )
	{
		super(titel);
		
		this.setSize(1024,768);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		erzeugeAnsicht();
		this.show();
		
	}
	
		
	
	void erzeugeAnsicht()
	{
		this.getContentPane().setLayout(null);
		
		JLabel ueberschrift =  new JLabel("Anmeldung");
		ueberschrift.setFont(new Font("Verdana", Font.PLAIN,20));
		ueberschrift.setBounds(10,10,150,50);
		
		JLabel ueberschrift2 =  new JLabel("_____________________________________");
		ueberschrift2.setFont(new Font("Verdana", Font.PLAIN,20));
		ueberschrift2.setBounds(10,15,600,50);
		
		
		JLabel kto =  new JLabel("Kontonummer:");
		kto.setFont(new Font("Verdana", Font.PLAIN,12));
		kto.setBounds(10,80,100,20);
		
		JTextField text1 = new JTextField();
		text1.setBounds(110,80,100,20);
			
		
		JLabel pin =  new JLabel("PIN Nummmer:");
		pin.setFont(new Font("Verdana", Font.PLAIN,12));
		pin.setBounds(10,120,100,20);
		
		JPasswordField text2 = new JPasswordField();
		text2.setEchoChar('*');
		text2.setBounds(110,120,100,20);
		
			
		button = new JButton("Neuen Account");
		button.setBounds(160,650,150,30);
		
		button2 = new JButton("Login");
		button2.setBounds(10,650,150,30);
		
		//JComboBox menu = new JComboBox();
		// menu.setBounds(10,150,100,30);
		
		getContentPane().setBackground(new Color(255,230,150));
		this.getContentPane().add(ueberschrift);
		this.getContentPane().add(ueberschrift2);
		this.getContentPane().add(kto);
		this.getContentPane().add(text1);
		this.getContentPane().add(pin);
		this.getContentPane().add(text2);
		this.getContentPane().add(button);
		this.getContentPane().add(button2);
		//this.getContentPane().add(menu);
		
		text2.addActionListener(this);
		text1.addActionListener(this);
		button.addActionListener(this);
		button2.addActionListener(this);
		
	}
					
	
		public void actionPerformed(ActionEvent arg0) {
		
		JButton j = (JButton)arg0.getSource();
		int erg, account;
		
		if(j == button2)
		{
			erg = JOptionPane.showConfirmDialog(Banking2.this, "Sind Sie sicher das sie sich einloggen möchten?", "Bestätigung", 
										  JOptionPane.YES_NO_OPTION,
										  JOptionPane.QUESTION_MESSAGE);
										  
			
				
			if( erg == JOptionPane.YES_OPTION)
			{
				new Kontenauswahl2( "Bankmanagement");
				
			}
			
		}
		
				
		else
		{
			account = JOptionPane.showConfirmDialog(Banking2.this, "Sind Sie sicher das sie einen neuen Account anlegen möchten?", "Bestätigung", 
										  JOptionPane.YES_NO_OPTION,
									      JOptionPane.QUESTION_MESSAGE);
									      
			if( account == JOptionPane.YES_OPTION)
			{
				new Account( "Bankmanagement");
			}						      
									      
		}
		
		
	}
		
	
}
```

Ich hoffe ihr könnt mir helfen...

mfg 
ich


----------



## foobar (29. Sep 2004)

Guckst du hier: http://www.java-forum.org/de/viewtopic.php?t=1529


----------



## !nDeX (29. Sep 2004)

Der Zugriff auf die Datenbank funktioniert jetzt...nun habe ich das Problem das beim ganz normalen System.out.println die Daten ausgibt aber nicht in den Textfeld...das Textfeld markiere ich mal damit du siehst welches ich meine.

```
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.net.*; 
import java.sql.*;


/************************************************
 * Name: Bajdin Avdylaj							*
 *                                              *
 * Datum: 27.09.2004                            *
 *                                              *
 * Klasse: R2H3                                 *
 *                                              *
 ************************************************/
public class Testsql2 extends JFrame implements ActionListener {

	static String land;
	static int einw;

	JButton button, button2;
    
	public static void main(String[] args) {
		new Testsql2( "Bankmanagement");
		
		String URL = "jdbc:odbc:Laender";
		String benutzername = "du";
		String passwort = "ich";
		
		try 
		{ 
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
		} 
		catch(ClassNotFoundException cnfe) 
		{ 
			System.out.println("Treiber kann nicht geladen werden: "+cnfe.getMessage()); 
		} 

		Statement befehl = null;
		Connection verbindung = null;
		
		try
		{
			
			verbindung = DriverManager.getConnection (URL, benutzername, passwort);
			
			befehl = verbindung.createStatement();
			
		}
		
		catch (Exception e)
		{
			System.err.println("Verbindungsfehler zu URL:"+URL+"fehlgeschlagen");
		}

		try
				{
					ResultSet datenmenge;
					datenmenge = befehl.executeQuery("SELECT * FROM bndlaender;");
		
		
				// Überschriften ausgeben
				System.out.println("Bundesland\t Einw(in Mio)");
		
				// Einzelne Datensätze ausgeben
		
				
		
				while(datenmenge.next())
				{
					land = datenmenge.getString("Bundesland");
					einw = datenmenge.getInt("Einw(in Mio)");
					System.out.println(""+land+" "+einw); <---------------- Hier gehts ohne Probleme aber hier soll er es nicht ausgeben
			
			
				}
		
				verbindung.close();
		
		
				}
				catch (Exception e)
				{
					e.printStackTrace();
			
				}

	
	}
	
	public Testsql2( String titel )
	{
		super(titel);
		
		this.setSize(1024,768);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		erzeugeAnsicht();
		this.show();
		
	}
	
		
	
	void erzeugeAnsicht()
	{
		this.getContentPane().setLayout(null);
		
		JLabel ueberschrift =  new JLabel("Anmeldung");
		ueberschrift.setFont(new Font("Verdana", Font.PLAIN,20));
		ueberschrift.setBounds(10,10,150,50);
		
		JLabel ueberschrift2 =  new JLabel("_____________________________________");
		ueberschrift2.setFont(new Font("Verdana", Font.PLAIN,20));
		ueberschrift2.setBounds(10,15,600,50);
		
		
		JLabel kto =  new JLabel("Kontonummer:");
		kto.setFont(new Font("Verdana", Font.PLAIN,12));
		kto.setBounds(10,80,100,20);
		
		JTextField text1 = new JTextField(land); <------------- Hier soll er die Daten ausgeben
		text1.setBounds(110,80,100,20);
			
		
		JLabel pin =  new JLabel("PIN Nummmer:");
		pin.setFont(new Font("Verdana", Font.PLAIN,12));
		pin.setBounds(10,120,100,20);
		
		JPasswordField text2 = new JPasswordField();
		text2.setEchoChar('*');
		text2.setBounds(110,120,100,20);
		
			
		button = new JButton("Neuen Account");
		button.setBounds(160,650,150,30);
		
		button2 = new JButton("Login");
		button2.setBounds(10,650,150,30);
		
		//JComboBox menu = new JComboBox();
		// menu.setBounds(10,150,100,30);
		
		getContentPane().setBackground(new Color(255,230,150));
		this.getContentPane().add(ueberschrift);
		this.getContentPane().add(ueberschrift2);
		this.getContentPane().add(kto);
		this.getContentPane().add(text1);
		this.getContentPane().add(pin);
		this.getContentPane().add(text2);
		this.getContentPane().add(button);
		this.getContentPane().add(button2);
		//this.getContentPane().add(menu);
		
		text2.addActionListener(this);
		text1.addActionListener(this);
		button.addActionListener(this);
		button2.addActionListener(this);
		
	}
					
	
		public void actionPerformed(ActionEvent arg0) {
			

		JButton j = (JButton)arg0.getSource();
		int erg, account;
		
		if(j == button2)
		{
			erg = JOptionPane.showConfirmDialog(Testsql2.this, "Sind Sie sicher das sie sich einloggen möchten?", "Bestätigung", 
										  JOptionPane.YES_NO_OPTION,
										  JOptionPane.QUESTION_MESSAGE);
										  
			
				
			if( erg == JOptionPane.YES_OPTION)
			{
				new Kontenauswahl2( "Bankmanagement");
				
			}
			
		}
		
				
		else
		{
			account = JOptionPane.showConfirmDialog(Testsql2.this, "Sind Sie sicher das sie einen neuen Account anlegen möchten?", "Bestätigung", 
										  JOptionPane.YES_NO_OPTION,
										  JOptionPane.QUESTION_MESSAGE);
									      
			if( account == JOptionPane.YES_OPTION)
			{
				new Account( "Bankmanagement");
			}						      
									      
		}
	}
}
```


----------



## lyrics (30. Sep 2004)

```
import java.awt.event.*; 
import java.awt.*; 
import javax.swing.*; 
import java.net.*; 
import java.sql.*; 


/************************************************ 
* Name: Bajdin Avdylaj                     * 
*                                              * 
* Datum: 27.09.2004                            * 
*                                              * 
* Klasse: R2H3                                 * 
*                                              * 
************************************************/ 
public class Testsql2 extends JFrame implements ActionListener { 

   static String land; 
   static int einw; 

   JButton button, button2; 
    
   public static void main(String[] args) { 
      //new Testsql2( "Bankmanagement"); 
       
      String URL = "jdbc:odbc:Laender"; 
      String benutzername = "du"; 
      String passwort = "ich"; 
       
      try 
      { 
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
      } 
      catch(ClassNotFoundException cnfe) 
      { 
         System.out.println("Treiber kann nicht geladen werden: "+cnfe.getMessage()); 
      } 

      Statement befehl = null; 
      Connection verbindung = null; 
       
      try 
      { 
          
         verbindung = DriverManager.getConnection (URL, benutzername, passwort); 
          
         befehl = verbindung.createStatement(); 
          
      } 
       
      catch (Exception e) 
      { 
         System.err.println("Verbindungsfehler zu URL:"+URL+"fehlgeschlagen"); 
      } 

      try 
            { 
               ResultSet datenmenge; 
               //datenmenge = befehl.executeQuery("SELECT * FROM bndlaender;"); 
               datenmenge = befehl.executeQuery("SELECT * FROM InterpretAlbum;"); 
       
       
            // Überschriften ausgeben 
            System.out.println("Bundesland\t Einw(in Mio)"); 
       
            // Einzelne Datensätze ausgeben 
       
             
       
            while(datenmenge.next()) 
            { 
               land = datenmenge.getString("Interpret"); 
               //einw = datenmenge.getInt("Einw(in Mio)"); 
               System.out.println(""+land+" "+einw); //<---------------- Hier gehts ohne Probleme aber hier soll er es nicht ausgeben 
          
          
            } 
       
            verbindung.close(); 
       
       
            } 
            catch (Exception e) 
            { 
               e.printStackTrace(); 
          
            } 
      new Testsql2( "Bankmanagement"); 

    
   } 
    
   public Testsql2( String titel ) 
   { 
      super(titel); 
       
      this.setSize(1024,768); 
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      erzeugeAnsicht(); 
      this.show(); 
       
   } 
    
       
    
   void erzeugeAnsicht() 
   { 
      this.getContentPane().setLayout(null); 
       
      JLabel ueberschrift =  new JLabel("Anmeldung"); 
      ueberschrift.setFont(new Font("Verdana", Font.PLAIN,20)); 
      ueberschrift.setBounds(10,10,150,50); 
       
      JLabel ueberschrift2 =  new JLabel("_____________________________________"); 
      ueberschrift2.setFont(new Font("Verdana", Font.PLAIN,20)); 
      ueberschrift2.setBounds(10,15,600,50); 
       
       
      JLabel kto =  new JLabel("Kontonummer:"); 
      kto.setFont(new Font("Verdana", Font.PLAIN,12)); 
      kto.setBounds(10,80,100,20); 
       
      JTextField text1 = new JTextField(land); //<------------- Hier soll er die Daten ausgeben 
      text1.setBounds(110,80,100,20); 
          
       
      JLabel pin =  new JLabel("PIN Nummmer:"); 
      pin.setFont(new Font("Verdana", Font.PLAIN,12)); 
      pin.setBounds(10,120,100,20); 
       
      JPasswordField text2 = new JPasswordField(); 
      text2.setEchoChar('*'); 
      text2.setBounds(110,120,100,20); 
       
          
      button = new JButton("Neuen Account"); 
      button.setBounds(160,650,150,30); 
       
      button2 = new JButton("Login"); 
      button2.setBounds(10,650,150,30); 
       
      //JComboBox menu = new JComboBox(); 
      // menu.setBounds(10,150,100,30); 
       
      getContentPane().setBackground(new Color(255,230,150)); 
      this.getContentPane().add(ueberschrift); 
      this.getContentPane().add(ueberschrift2); 
      this.getContentPane().add(kto); 
      this.getContentPane().add(text1); 
      this.getContentPane().add(pin); 
      this.getContentPane().add(text2); 
      this.getContentPane().add(button); 
      this.getContentPane().add(button2); 
      //this.getContentPane().add(menu); 
       
      text2.addActionListener(this); 
      text1.addActionListener(this); 
      button.addActionListener(this); 
      button2.addActionListener(this); 
       
   } 
                
    
      public void actionPerformed(ActionEvent arg0) { 
          

      JButton j = (JButton)arg0.getSource(); 
      int erg, account; 
       
      if(j == button2) 
      { 
         erg = JOptionPane.showConfirmDialog(Testsql2.this, "Sind Sie sicher das sie sich einloggen möchten?", "Bestätigung", 
                                JOptionPane.YES_NO_OPTION, 
                                JOptionPane.QUESTION_MESSAGE); 
                                
          
             
         if( erg == JOptionPane.YES_OPTION) 
         { 
//            new Kontenauswahl2( "Bankmanagement"); 
             
         } 
          
      } 
       
             
      else 
      { 
         account = JOptionPane.showConfirmDialog(Testsql2.this, "Sind Sie sicher das sie einen neuen Account anlegen möchten?", "Bestätigung", 
                                JOptionPane.YES_NO_OPTION, 
                                JOptionPane.QUESTION_MESSAGE); 
                                 
         if( account == JOptionPane.YES_OPTION) 
         { 
//            new Account( "Bankmanagement"); 
         }                        
                                 
      } 
   } 
}
```

Dein Problem war, das du erst das Textfield erstellst mit übergabe des wertes land, jedoch ist das feld zu dem zeitpunkt noch leer, da du erst später die datenbank ausliest.

habe zugriff auf db ein wenig geändert, damit ich es bei mri testen konnte.

hoffe habe dir damit geholfen

lyrics


----------



## !nDeX (30. Sep 2004)

JO vielen Dank für Deine hilfe


----------

