# Datensätze aus der Datenbank holen



## JonnieWalker (23. Mrz 2010)

Hallo Leute

brauche euere hilfe:

also ich hab ein Fenster FeAnmeldung
dort befinden sich zweit Textfelder das eine ist Benutzername und das andere Passwort

in der Klasse Datenbanken hab ich meine Verbindung zur DB hergestellt usw. alles klappt!
hab soweit auch alles richtig Programmiert usw und meine Klasse Benutzer dort hab ich die Daten aus der DB deklariert.

kann mir mal jemand sagen wo der Fehler ist das er mir die Datensätze nicht ausgibt:

hier ist der Kode vom Fenster von der Datenbankklasse und der Benutzerklasse:


```
Die Datenbankklasse:
package darstellungpflichth;

import java.sql.*;
import java.util.ArrayList;


/**
 *
 * @author shabahi
 */
public class Datenbank {
        Connection v;
        ArrayList<Benutzer> retBenutzer = new ArrayList<Benutzer>();
      
    public Datenbank(){
            try {
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                v = DriverManager.getConnection("jdbc:odbc:MELOFT");
               System.out.println("Verbindung zum Treiber erfolgreich hergestellt");
                System.out.println("Verbindung zur Datenbank erfolgreich hergestellt");
            } catch (Exception ex) {
                System.out.println("Der Treiber konnte nicht gefunden werden");
                System.out.println("Die Datenbank konnte nicht gefunden werden");
            }
            getBenutzer();
        }
    
     public ArrayList<Benutzer> getBenutzer(){
        Benutzer Datensatz;
        ResultSet daten;
        
        try {
            Statement anweisung = v.createStatement();
            daten = anweisung.executeQuery("select benutzername, passwort from benutzer");
             while(daten.next()){
             Datensatz = new Benutzer(
                    daten.getString("benutzername"),
                    daten.getString("passwort"));
            retBenutzer.add(Datensatz);
                }
        } catch (Exception ex) {

        }
        return retBenutzer;
    }
}
```


```
Die FeAnmeldung also das Fenster:
package darstellungpflichth;

//import java.io.BufferedReader;

import java.util.ArrayList;
import javax.swing.JOptionPane;




//import java.io.FileNotFoundException;
//import java.io.FileReader;
//import java.io.IOException;
//import java.security.MessageDigest;
//import java.security.NoSuchAlgorithmException;
//import java.util.logging.Level;
//import java.util.logging.Logger;



/**
 *
 * @author Zill
 */
public class FeAnmeldung extends javax.swing.JFrame {

    Datenbank db;
    ArrayList<Benutzer> Benutzerdaten;
    int index = 0;

    /** Creates new form FeAnmeldung */
    public FeAnmeldung() {
        initComponents();
        this.db = new Datenbank();
        Anzeige();

    }
       

     public void Anzeige(){
         Benutzer user;
         Benutzerdaten = db.retBenutzer;
         if(Benutzerdaten.size() > 0){
         user = Benutzerdaten.get(index);
         tfName.setText(user.benutzername);
         tfPass.setText(user.passwort);
         }
         else{
             JOptionPane.showMessageDialog(this, "Keine Daten gefunden");

         }
 }
```


```
Meine Klasse Benutzer:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package darstellungpflichth;

/**
 *
 * @author shabahi
 */
public class Benutzer {

    
    public String  benutzername;
    public String  passwort;

    public Benutzer(String benutzername, String passwort){
        
        this.benutzername = benutzername;
        this.passwort = passwort;
    }
  }
```

er gibt mir eine NullPointerException aus.

viele dank im vorraus


----------



## function (23. Mrz 2010)

sehr schön wären natürlich java-tags und die genaue fehlermeldung damit man nicht zwingend alles durch suchen muss...
aber warum machst du in der Klasse FeAnmeldung in Anzeige() <- btw methodennamen kleinschreiben.

```
Benutzerdaten = db.retBenutzer;
```
du hast doch extra!? die methode getBenutzer() in der Klasse Datenbank, die die liste der benutzer zurückgibt...

```
Benutzerdaten = db.getBenutzer();
```
wäre doch evtl besser oder nicht?


----------



## SlaterB (23. Mrz 2010)

hat sich die Frage gegenüber
http://www.java-forum.org/datenbankprogrammierung/97771-datenbank-java.html
schon weiterentwickelt?

dort hatte ich die Java-Tags repariert, lerne das doch bitte,
zitiere andere Postings um zu sehen, was du eintippen musst


----------



## JonnieWalker (23. Mrz 2010)

hallo, es hat sich erledigt
lag an der einstellung der von uns erstellten Datenbank also nichts am Code
puhh dann kann ich erstmal weiter machen

vielen dank für euere hilfe


----------

