tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
544
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Code46 Code46 ist offline Mitglied Gold
    Registriert seit
    Sep 2008
    Beiträge
    184
    Hi Leute,
    Wollte mal fragen ob ihr vielleich wisst wie ich von meiner Datenbank die werte in einem JTable laden kann ?

    Wenn ihr mir weiterhelfen koennt wuerde ich mich sehr freuen.

    Danke
     

  2. #2
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Hi,
    was für eine Datenbanksystem hast du denn? MySQL?

    Gruß

    Fabio
     
    Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]

    Tutorials:
    Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
    JAnimationPanel - Animationen für Swing/AWT
    SWTRatingBar (Bewertungs-Composite) selbst programmieren
    ____________________________________________________________________________
    Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.

  3. #3
    Code46 Code46 ist offline Mitglied Gold
    Registriert seit
    Sep 2008
    Beiträge
    184
    Die Datenbank ist Ms Access
     

  4. #4
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Oh, tut mir leid. Wer lesen kann ist klar im Vorteil...

    Also die Verbindung wird genau so aufgebaut, wie zu einer MySQL-DB. Der einzigste Unterschied besteht darin, dass du einen anderen Treiber laden musst.

    Hier ist ein gutes Beispiel, das dir bestimmt weiterhilft.
     
    Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]

    Tutorials:
    Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
    JAnimationPanel - Animationen für Swing/AWT
    SWTRatingBar (Bewertungs-Composite) selbst programmieren
    ____________________________________________________________________________
    Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.

  5. #5
    Code46 Code46 ist offline Mitglied Gold
    Registriert seit
    Sep 2008
    Beiträge
    184
    Moin,
    Habe meine Datenbank an das JTable verbunden. Aber irgendwie zeigt er mir das nicht an. Ich hatte den Code vom einem anderen Beispiel project rüber kopiert.

    Hier mein Code:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    
    public class Project extends JFrame implements ActionListener {
     
     DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
     Date date = new Date();
     String addDate =dateFormat.format(date);
        
     JButton btnclose = new JButton("Close");
     JButton btnSearch = new JButton("Search");
     
     JLabel datetime = new JLabel(addDate);
     Timer timer = new Timer();
     Font fonttype = new Font("Verdana",Font.PLAIN,50);
     private Vector<Vector<String>> data; //used for data from database
     private Vector<String> header; //used to store data header
     JTable table = new JTable(data, header);
     
    public void timer() {    
        timer.scheduleAtFixedRate(new TimerTask(){
     
            public void run() {
                datetime.setText(dateFormat.format(new Date()));
            }
     
        }, 0, 100);
     
    }
     
     public Project() throws Exception{
     
         JPanel north = new JPanel();
         JPanel south = new JPanel();
         JPanel east = new JPanel();
         JPanel west = new JPanel();
         JPanel center = new JPanel();
            
          add("North",north);
          add("South",south);
          add("East",east);
          add("West",west);
          add("Center",center);
          
          DBEngine dbengine = new DBEngine();
          data = dbengine.getEmployee();
          //create header for the table
          header = new Vector<String>();
          header.add("StudentID"); //Empid
          header.add("Student Name"); // employee name
          header.add("Student Lastname"); // employee position
          header.add("Student Email"); // employee position
          header.add("StudentsRFID"); // employee position
     
             north.setBorder(BorderFactory.createTitledBorder("Date&Time Display"));
             BoxLayout layout = new BoxLayout(north, BoxLayout.X_AXIS);
             datetime.setFont(fonttype);
             north.add(datetime);
             timer();
     
             center.setBorder(BorderFactory.createTitledBorder("Attendence Record"));
             center.setLayout(new BorderLayout());
             center.add(table);
             center.add(table.getTableHeader(), BorderLayout.PAGE_START);
             center.add(table, BorderLayout.CENTER);
             center.add(table.getTableHeader(), BorderLayout.PAGE_START);
     
     
             south.setBorder(BorderFactory.createTitledBorder("Selection"));
             south.add(btnclose);
             BoxLayout la = new BoxLayout(south, BoxLayout.X_AXIS);
            
     
     
            btnclose.addActionListener(this);
            btnSearch.addActionListener(this);
     
     
           }
     
        public void actionPerformed(ActionEvent sc) {
        if(sc.getSource()== btnclose){
            System.exit(0);
        }
        }
        
     
        
    public static void main(String [] a) throws Exception{
        Project me = new Project();
        me.addWindowListener(new WindowAdapter () {
            public void run() {
                    try
                    {
                        new Project().setVisible(true);
                    }catch(Exception e){e.printStackTrace();}
                }
                @Override
           public void windowClosing(WindowEvent e) {
              System.exit(0) ;
            }
          });
        me.pack();
        me.setVisible(true);
      }
     

  6. #6
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Hey,
    die Lösung für dein Problem ist ganz einfach. Da du den Vector 'data ' erst im Konstruktur initialisierst, aber schon davor (also wenn der Vector noch 'null' ist) an deine JTable übergibst, ist es klar, dass dein JTable keine Werte anzeigt.

    Ich war außerdem mal so frei und hab deinen Code ein bischen formatiert, damit dieser besser lesbar und verständlicher wird. Es wäre nicht schlecht, wenn du dir mal ein paar Code-Templates anschaust und versuchst dich an solche zu halten. Nur so als Tipp am Rande.

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    
    import java.awt.BorderLayout;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Timer;
    import java.util.TimerTask;
    import java.util.Vector;
     
    import javax.swing.*;
     
    public class Project extends JFrame implements ActionListener
    {
        private static final DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
        
        private final JButton btnclose = new JButton("Close");
        private final JButton btnSearch = new JButton("Search");
        
        public Project() throws Exception {
            super("Project"); // Fenstername
            setDefaultCloseOperation(EXIT_ON_CLOSE); // Fenster schließen, wenn X gedrückt wurde
     
            final JPanel north = new JPanel();
            final JPanel south = new JPanel();
            final JPanel east = new JPanel();
            final JPanel west = new JPanel();
            final JPanel center = new JPanel();
            
            add("North", north);
            add("South", south);
            add("East", east);
            add("West", west);
            add("Center", center);
            
            final DBEngine dbengine = new DBEngine();
            final Vector<Vector<String>> data = dbengine.getEmployee();
            // create header for the table
            final Vector<String> header = new Vector<String>();
            header.add("StudentID"); // Empid
            header.add("Student Name"); // employee name
            header.add("Student Lastname"); // employee position
            header.add("Student Email"); // employee position
            header.add("StudentsRFID"); // employee position
     
            final JTable table = new JTable(data, header);
            
            north.setBorder(BorderFactory.createTitledBorder("Date&Time Display"));
            final BoxLayout layout = new BoxLayout(north, BoxLayout.X_AXIS);
            final JLabel datetime = new JLabel("#NO DATE#");
            datetime.setFont(new Font("Verdana", Font.PLAIN, 50));
            north.add(datetime);
            
            center.setBorder(BorderFactory.createTitledBorder("Attendence Record"));
            center.setLayout(new BorderLayout());
            center.add(table);
            center.add(table.getTableHeader(), BorderLayout.PAGE_START);
            center.add(table, BorderLayout.CENTER);
            center.add(table.getTableHeader(), BorderLayout.PAGE_START);
            
            south.setBorder(BorderFactory.createTitledBorder("Selection"));
            south.add(btnclose);
            final BoxLayout la = new BoxLayout(south, BoxLayout.X_AXIS);
            
            btnclose.addActionListener(this);
            btnSearch.addActionListener(this);
            
            new Timer().scheduleAtFixedRate(new TimerTask()
            {
                
                @Override
                public void run() {
                    datetime.setText(dateFormat.format(new Date()));
                }
                
            }, 0, 100);
        }
        
        public void actionPerformed(final ActionEvent sc) {
            if (sc.getSource() == btnclose) {
                System.exit(0);
            }
        }
        
        public static void main(final String[] args) throws Exception {
            final Project me = new Project();
            me.pack();
            me.setVisible(true);
        }
    }

    ps.: Bitte verwende die Java-Code-Tags (siehe meine Signatur) für das Syntaxhighlighting. Danke

    Gruß

    Fabio
     
    Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]

    Tutorials:
    Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
    JAnimationPanel - Animationen für Swing/AWT
    SWTRatingBar (Bewertungs-Composite) selbst programmieren
    ____________________________________________________________________________
    Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.

  7. #7
    Code46 Code46 ist offline Mitglied Gold
    Registriert seit
    Sep 2008
    Beiträge
    184
    Danke für deinen Post und deinen Tip. Ich versuch mich daran zu halten.

    Kleine frage warum hast du die buttons und JPanel als FINAL definiert ? Was ist der unterschied ?
    Geändert von sheel (26.02.12 um 03:09 Uhr) Grund: Doppel
     

  8. #8
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Bitte keine Doppel-Posts. Dafür gibt es die Bearbeiten-Funktion.

    Das ist etwas das ich mir angewöhnt habe, damit ich die Variablen - die ich nicht noch einmal ändern muss - nicht ausversehen überschreibe. Weil solche Fehler sucht man meist sehr lange.
     
    Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]

    Tutorials:
    Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
    JAnimationPanel - Animationen für Swing/AWT
    SWTRatingBar (Bewertungs-Composite) selbst programmieren
    ____________________________________________________________________________
    Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.

Ähnliche Themen

  1. Access: Fehler beim Laden einer dll
    Von redwidow im Forum Office-Anwendungen
    Antworten: 16
    Letzter Beitrag: 29.12.10, 16:36
  2. Bild in Access Datenbank laden
    Von Matthias1 im Forum .NET Datenverwaltung
    Antworten: 4
    Letzter Beitrag: 04.10.10, 23:40
  3. VB mit einer Access-Datenbank verbinden
    Von Shadowox im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 26.06.09, 06:30
  4. JTable und Access Datenbank
    Von kokoriko im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 3
    Letzter Beitrag: 24.09.07, 12:15
  5. Löschen in einer Access-Datenbank ?
    Von Ahnungsloser8000 im Forum .NET Archiv
    Antworten: 5
    Letzter Beitrag: 04.07.05, 14:31