j Table in anderer Klasse aufrufen

Allgemeine Themen rund um NetBeans

Moderator: wegus

Antworten
Shortty
Beiträge: 1
Registriert: 22.03.2019, 08:30

j Table in anderer Klasse aufrufen

Beitrag von Shortty » 22.03.2019, 08:34

Hey Leute ich hab eine Klasse MainWindow in der ein jFrame ist. Jetzt hab ich eine neue Klasse Speichern geschrieben die den JTable in eine Datenbank einfügt ich weiß nur nicht wie ich den Jtable an die Klasse übergeb ??

package Auftrags;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;


/**
*
* @author kp
*/
public class Speichern {
Connection con = null;
ResultSet rst = null;
PreparedStatement pst = null;
// hier jTable aus MainWindow



public void S(){


try{


int rows=jTable.getRowCount();
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/meinedb","root","root123");

String delete ="DELETE FROM db.mytable";
pst = con.prepareStatement(delete);
pst.execute();
int b = 0;
int m = 0;
int f = 0;
int v = 0;
int af = 0;
for(int row = 0; row<rows; row++)
{
Integer auftragsnummer = (Integer)jTable.getValueAt(row, 0);
String auftragsdatum = (String)jTable.getValueAt(row, 1);
String auftraggeber = (String)jTable.getValueAt(row, 2);
String telefon = (String)jTable.getValueAt(row, 3);
String email = (String)jTable.getValueAt(row, 4);
String lieferadresse = (String)jTable.getValueAt(row, 5);
String beschreibung = (String) jTable.getValueAt(row, 6);
Integer menge = (Integer)jTable.getValueAt(row, 7);
Double preis = (Double)jTable.getValueAt(row, 8);
Double gesammtpreis = (Double)jTable.getValueAt(row, 9);
Boolean bezahlt = (Boolean)jTable.getValueAt(row, 10);
if (bezahlt == true){
b = 1;
}
Integer materialbestellzeit = (Integer)jTable.getValueAt(row, 11);
String materialbestellen = (String)jTable.getValueAt(row, 12);
Boolean materialbestellt = (Boolean)jTable.getValueAt(row, 13);
if (materialbestellt == true){
m = 1;
}
Integer fertigungszeit = (Integer)jTable.getValueAt(row, 14);
String fertigungsbeginn = (String)jTable.getValueAt(row, 15);
Boolean fertiggestellt = (Boolean)jTable.getValueAt(row, 16);
if (fertiggestellt == true){
f = 1;
}
Integer lieferzeit = (Integer)jTable.getValueAt(row, 17);

String versenden = (String)jTable.getValueAt(row, 18);
Boolean versendet = (Boolean)jTable.getValueAt(row, 19);
if (versendet == true){
v = 1;
}
String beimkunden = (String)jTable.getValueAt(row, 20);
Boolean auftragfertig = (Boolean)jTable.getValueAt(row, 21);
if (versendet == true){
af = 1;
}


String sql = "INSERT INTO db.mytable (auftragsnummer,auftragsdatum,auftraggeber,telefon, email,lieferadresse, beschreibung, "
+ "menge, preis, gesammtpreis, bezahlt,materialbestellzeit, materialbestellen, materialbestellt,fertigungszeit, fertigungsbeginn, fertiggestellt, "
+ "lieferzeit,versenden, versendet, beimkunden, auftragfertig) "
+ "VALUES ('"+auftragsnummer+"' ,'"+auftragsdatum+"','"+auftraggeber+"','"+telefon+"','"+email+"','"+lieferadresse+"','"+beschreibung+"',"
+ " '"+menge+"', '"+preis+"', '"+gesammtpreis+"', '"+b+"','"+materialbestellzeit+"', '"+materialbestellen+"',"
+ " '"+m+"','"+fertigungszeit+"','"+fertigungsbeginn+"', '"+f+"','"+lieferzeit+"', "
+ "'"+versenden+"', '"+v+"', '"+beimkunden+"','"+af+"' )";
pst = con.prepareStatement(sql);
pst.execute();
}
JOptionPane.showMessageDialog(null, "Erfolgreich gespeichert");
}
catch(Exception e){

}
}


}

weiß leider nicht wie es als code angezeigt wird ??

Antworten