1
0
Fork 0
SVEN/Kasse/src/Helper.java

99 lines
2.7 KiB
Java
Raw Normal View History

2020-07-04 10:24:31 +00:00
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<74>gt Werte der spalte in den Array ein <20>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<75>ck
return model;
}
}