Ich möchte ein kleines Programm schreiben, mit dem ich eine Tabeller ein HSQLDB verwalten kann. Man soll das Einträge suchen können, neue Daten eintragen und sich alles ausgeben lassen können. Dass das die "hsqldb.jar" auch alles kann ist mir klar, mir geht es darum den Umgang mit Datenbanken in Java und Java generell etwas besser kennenzulernen.
Die Datenabfrage funktioniert auch super, nur diese dann auf Knopfdruck in den JFrame zu kriegen schaffe ich nicht.
Hier meine Klassen:
Main
Statement (Hier findet die Datenbankabfrage statt)
Window (hier wird alles mit dem JFrame geregelt)
Und die Klasse des Listeners
Die Datenabfrage funktioniert auch super, nur diese dann auf Knopfdruck in den JFrame zu kriegen schaffe ich nicht.
Hier meine Klassen:
Main
Code:
import javax.swing.*;
public class Main {
public static void main( String[] args ){
JFrame frame = new Window();
}
}
Statement (Hier findet die Datenbankabfrage statt)
Code:
import java.sql.*;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class Statement {
Connection con = null;
public Statement(){
try{
Class.forName("org.hsqldb.jdbcDriver");
} catch (ClassNotFoundException e){
System.out.println("Error");
}
try {
con = DriverManager.getConnection("jdbc:hsqldb:file:Pfad zur Datenbank);
} catch (SQLException e) {
e.printStackTrace();
}
}
public JTable selectAll(){
String[] title = new String[]{ "ID", "Name" };
final DefaultTableModel model = new DefaultTableModel(title, 0);
JTable table = new JTable( model );
try {
java.sql.Statement stmt = con.createStatement();
String sql = "SELECT * FROM Namen";
ResultSet res = stmt.executeQuery(sql);
while(res.next()){
Vector data = new Vector();
data.add(res.getString(1));
data.add(res.getString(2));
model.addRow(data);
}
res.close();
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
return table;
}
}
Window (hier wird alles mit dem JFrame geregelt)
Code:
import java.awt.*;
import javax.swing.*;
public class Window extends JFrame{
JButton search;
JButton show_all;
JButton insert_button;
//JPanel show_all_output;
//JPanel insert_output;
JPanel start_page;
public Window() {
super("DB-Project");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setSize(800, 600);
setLocationRelativeTo(null);
setLayout(new BorderLayout());
start_page = new JPanel(new GridLayout(1,3));
search = new JButton("Search");
show_all = new JButton("Show all");
show_all.addActionListener(new BtnListener());
insert_button = new JButton("Insert something");
start_page.add(search, 0);
start_page.add(show_all, 1);
start_page.add(insert_button, 2);
add(start_page, BorderLayout.NORTH);
}
}
Und die Klasse des Listeners
Code:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class BtnListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
Statement abfrage = new Statement();
abfrage.selectAll();
}
}