// Programm 3-15: BSP_ROOT/meinewebapp/WEB-INF/classes/jdbcbasis/VorZurueck.java
import java.sql.*;
import java.awt.*;
import java.awt.event.*;

public class VorZurueck extends Frame {
  Panel knoepfe = new Panel(new GridLayout(1, 4));
    Button erst = new Button("Erster Zeile"), 
           prev = new Button("Vorherige Zeile"),
           next = new Button("Nächste Zeile"), 
           last = new Button("Letze Zeile");
  TextField aus = new TextField();
  Connection c; Statement s; ResultSet r;
  public VorZurueck() {
    setLayout(new BorderLayout());
    add(knoepfe, "North");
      knoepfe.add(erst); knoepfe.add(prev); knoepfe.add(next); knoepfe.add(last);
    add(aus, "Center");
    setSize(400, 250);
    setVisible(true);
    erst.addActionListener(new ActionListener() {       // Erste Zeile
      public void actionPerformed(ActionEvent e) {
        erster();}});
    prev.addActionListener(new ActionListener() {       // Eine Zeile zurück
      public void actionPerformed(ActionEvent e) {
        vorheriger(); }});
    next.addActionListener(new ActionListener() {       // Eine Zeile weiter
      public void actionPerformed(ActionEvent e) {
        naechster(); }});
    last.addActionListener(new ActionListener() {       // Letzte Zeile
      public void actionPerformed(ActionEvent e) {
        letzter(); }});
    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        System.exit(0); }} );
    try {
      Class.forName("org.gjt.mm.mysql.Driver"); 
      c = DriverManager.getConnection("jdbc:mysql://localhost:3306/Kurse",
                                                                     "root", "");
      s =  c.createStatement();
      r = s.executeQuery("SELECT * FROM Kurse LEFT JOIN Dozenten " +
                         "ON Kurse.dcode=Dozenten.dcode ORDER BY nachname, vorname");
      erster();
    }
    catch (Exception ex) {ex.printStackTrace();}
  }
  void erster() { try {r.first(); zeige();} catch (Exception ex) {} }
  void vorheriger() { try {r.previous(); zeige();} catch (Exception ex) {} }
  void naechster() { try {r.next(); zeige();} catch (Exception ex) {} }
  void letzter() { try {r.last(); zeige();} catch (Exception ex) {} }
  void zeige() throws Exception {
    aus.setText(r.getString("nachname") + ", " + r.getString("vorname") + ":  " +
    r.getString("bezeichnung") + ". " + r.getString("datum"));
  }
  public static void main(String[] args) throws Exception {
    new VorZurueck();
  }
}