package SSPJ; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Iterator; import java.util.LinkedList; import javax.swing.table.DefaultTableModel; public class Familienbuch extends DefaultTableModel { private static final String url = "jdbc:mysql://localhost/pflanzen"; private static final String USER = "root"; private static final String PASSWD = ""; private static final String DRIVERNAME = "com.mysql.jdbc.Driver"; private String[] colnames = {"hallo","hallo","hallo"}; private Driver driver = null; public Familienbuch() { try { driver = (Driver)Class.forName(DRIVERNAME).newInstance(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void load(String s) { try { Connection con = DriverManager.getConnection(url, USER, PASSWD); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("select * from " + s); colnames = getColumns(s); /* String [] rows = new String[colnames.length]; for(int i = 0; i < rows.length; i++) { rows[i] = rs.getString(i); } String [] a = rows; */ while (rs.next()) { addRow(new String [] {rs.getString(1), rs.getString(2), rs.getString(3)}); //addRow(rows); } stmt.close(); } catch (Exception e) { e.printStackTrace(); } } /* public String [] give() throws SQLException { Connection con = DriverManager.getConnection(url, USER, PASSWD); Statement stmt = con.createStatement(); ResultSet tables = stmt.executeQuery("show tables"); while (tables.next()) { addRow(new String[]{ tables.getString(1), tables.getString(2), tables.getString(3) }); } stmt.close(); return t; } */ private String [] getColumns(String s) throws SQLException { Connection con = DriverManager.getConnection(url, USER, PASSWD); Statement stmt = con.createStatement(); String sql = "show columns from " + s ; ResultSet tables = stmt.executeQuery(sql); LinkedList l = new LinkedList(); while (tables.next()) { l.add(tables.getString(1)); } stmt.close(); String [] t = new String [l.size()]; int j = 0; for ( Iterator i = l.iterator(); i.hasNext(); ) { t[j++] = (String) i.next(); } stmt.close(); return t; } @Override public int getColumnCount() { return colnames.length; } @Override public String getColumnName(int column) { return colnames[column]; } }