99 lines
2.7 KiB
Java
99 lines
2.7 KiB
Java
import java.sql.*;
|
|
import java.util.concurrent.SynchronousQueue;
|
|
|
|
import javax.swing.table.DefaultTableModel;
|
|
|
|
public class Helper {
|
|
|
|
Connection con;
|
|
Statement stmt;
|
|
ResultSet rs;
|
|
ResultSetMetaData rsmd;
|
|
|
|
//baut verbindung auf
|
|
public void connect() {
|
|
try {
|
|
con = DriverManager.getConnection("jdbc:mysql://102-012/", "intabi19", "hallo");
|
|
System.out.println("connected");
|
|
} catch (SQLException e) {
|
|
System.out.println(e);
|
|
}
|
|
}
|
|
|
|
//baut verbindung auf zur Auswahl
|
|
public void connect(String databaseName) {
|
|
try {
|
|
con = DriverManager.getConnection("jdbc:mysql://102-012/"+ databaseName, "intabi19", "hallo");
|
|
System.out.println("connected");
|
|
} catch (SQLException e) {
|
|
System.out.println(e);
|
|
}
|
|
}
|
|
|
|
public void listTables()
|
|
{
|
|
try {
|
|
rs = con.getMetaData().getTables(null, null, null, null);
|
|
while (rs.next())
|
|
{
|
|
System.out.println(rs.getString(3));
|
|
}
|
|
} catch (SQLException e) {
|
|
// TODO Auto-generated catch block
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
public void passSQL(String sql)
|
|
{
|
|
try {
|
|
stmt = con.createStatement();
|
|
stmt.execute(sql);
|
|
} catch (SQLException e) {
|
|
// TODO Auto-generated catch block
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
public DefaultTableModel getTableModel(String sqlString) {
|
|
DefaultTableModel model = new DefaultTableModel();
|
|
|
|
try {
|
|
// wichtig nicht vergessen ohne diese Aussage gibts nen Fehler(Nullpointer)
|
|
stmt = con.createStatement();
|
|
// schickt SQL Abfrage ab und speichert im Objekt rs
|
|
rs = stmt.executeQuery(sqlString);
|
|
// liest MetaDaten aus und speichert im Objekt rsmd
|
|
rsmd = rs.getMetaData();
|
|
// Breite der Tabelle
|
|
int colCount = rsmd.getColumnCount();
|
|
|
|
// Ein String Array hat die Länge der Breite der Tabelle
|
|
String colData[] = new String[colCount];
|
|
// Läuft einmal die Breite ab und fügt die Spaltennamen zum Array hinzu
|
|
for (int i = 1; i <= colCount; i++) {
|
|
colData[i - 1] = rsmd.getColumnLabel(i);
|
|
}
|
|
// setzt die Spaltennamen im DefaultTableModel
|
|
model.setColumnIdentifiers(colData);
|
|
|
|
// Ein String Array hat die Länge der Breite der Tabelle
|
|
String rowData[] = new String[colCount];
|
|
//Läuft solange es noch weitere Zeilen im rs gibt
|
|
while (rs.next()) {
|
|
// Läuft jede Spalte ab
|
|
for (int i = 0; i < colCount; i++) {
|
|
//trägt Werte der spalte in den Array ein überschreibt vorherige Werte
|
|
rowData[i] = rs.getString(i+1);
|
|
}
|
|
// fügt komplette Zeile dem DefaultTableModel hinzu
|
|
model.addRow(rowData);
|
|
}
|
|
} catch (SQLException e) {
|
|
// TODO Auto-generated catch block
|
|
e.printStackTrace();
|
|
}
|
|
//gibt fertiges DefaultTableModel zurück
|
|
return model;
|
|
}
|
|
}
|