Hallo liebe Community , ich habe folgendes Problem:
Ich habe die Klasse GUI in der ich mir nen Frame anzeigen lasse , mit textfelder.:
In dieser Klasse kann ich ein neues Produkt erstellen und fülle es mit den Daten aus den Textfeldern.
Nun habe ich eine Klasse : UpdateMySQL
So ich möchte gerne dass meine Produkte in der Datenbank gespeichert erden, möchte dabei aber DB und GUI trennen.
Nun weiß ich nicht wie ich es mache.
Ich könnte einen Konstruktor bauen mit die gleichen Parameter ,die Produkt auch verlangt, erstellen.
Der würde dann so aussehen:
Aber das ist ja doof.
Andersrum müsste ich ne methode schreiben mit den ganzen parametern.
Und die dann in UpdateMysql .
Aber das ist das gleiche.
Ich habe doch schon ein Produkt mit den ganzen parametern.
:
Ich will das ein Produkt erstellt wird. Und alle zugehörigen Parameter in die Datenbank.
Nun habe ich alle klassen soweit fertig , bekomme sie aber nicht verbunden.:/
Weiß einer einen Rat?
Eine Andere als wenn ich es so mache?
Maybe mit:
Alles in Produkt speichern und eine Methode womit ich nur das produkt übergebe?
PS: Muss die connection zu db immer eine main haben?
Oder kann ich dass auch alles in methoden verpacken?
Ich habe die Klasse GUI in der ich mir nen Frame anzeigen lasse , mit textfelder.:
Java:
public void buttonSpeichern() {
int p_inhaltsmenge=0;
int p_barcodenummer = 0;
double p_minPreis = 0;
double p_maxPreis = 0;
try {
// Stringeingaben in Double umwandeln.
p_inhaltsmenge = Integer.parseInt(jText_inhaltsmenge.getText());
p_barcodenummer = Integer.parseInt(jText_barcodenummer.getText());
p_minPreis = Double.parseDouble(jText_minPreis.getText());
p_maxPreis = Double.parseDouble(jText_maxPreis.getText());
} catch (NumberFormatException e) {
System.out.print("Fehler beim parsen" + e.getMessage());
}
a = new Produkt(jText_name.getText(),jArea_anmerkung.getText(),p_minPreis,
p_maxPreis,p_inhaltsmenge,p_barcodenummer,"Getraenke");
}
In dieser Klasse kann ich ein neues Produkt erstellen und fülle es mit den Daten aus den Textfeldern.
Nun habe ich eine Klasse : UpdateMySQL
Java:
public class UpdateMySQL {
public UpdateMySQL() {
}
public static void main(String args[]) {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException exc) {
System.err.println("Treiber nicht gefunden!");
System.exit(-1);
}
try {
Produkt_Frame eingabe;
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/kuehlschrank",
"Spin","");
Statement stmt = conn.createStatement();
System.out.print("Einen neuen Produktnamen? ");
String produktName = "";
// INSERT INTO produkt VALUES('Kartoffeln')
stmt.executeUpdate("INSERT INTO produkt VALUES('"+produktName+"')");
ResultSet rs = stmt.executeQuery("SELECT * FROM produkt");
while (rs.next()) {
System.out.println("Produkt: "+rs.getString("name"));
}
} catch (SQLException exc) {
System.err.println(exc.getMessage());
}
}
}
So ich möchte gerne dass meine Produkte in der Datenbank gespeichert erden, möchte dabei aber DB und GUI trennen.
Nun weiß ich nicht wie ich es mache.
Ich könnte einen Konstruktor bauen mit die gleichen Parameter ,die Produkt auch verlangt, erstellen.
Der würde dann so aussehen:
Java:
public UpdateMySQL(String p_name, String p_anmerkung, double p_minPreis,
double p_maxPreis, int p_inhaltsmenge, int p_barcodenummer,
String p_gruppenName) {
}
Aber das ist ja doof.
Andersrum müsste ich ne methode schreiben mit den ganzen parametern.
Java:
public void inDBEinfuegen(String p_name, String p_anmerkung, double p_minPreis,
double p_maxPreis, int p_inhaltsmenge, int p_barcodenummer,
String p_gruppenName)
{
}
Und die dann in UpdateMysql .
Aber das ist das gleiche.
Ich habe doch schon ein Produkt mit den ganzen parametern.
:
Java:
/* �berladener Constructor */
public Produkt(String p_name, String p_anmerkung, double p_minPreis,
double p_maxPreis, int p_inhaltsmenge, int p_barcodenummer,
String p_gruppenName) {
super();
this.name = p_name;
this.anmerkung = p_anmerkung;
this.minPreis = p_minPreis;
this.maxPreis = p_maxPreis;
this.inhaltsmenge = p_inhaltsmenge;
this.barcodenummer = p_barcodenummer;
this.gruppenName = p_gruppenName;
}
Ich will das ein Produkt erstellt wird. Und alle zugehörigen Parameter in die Datenbank.
Nun habe ich alle klassen soweit fertig , bekomme sie aber nicht verbunden.:/
Weiß einer einen Rat?
Eine Andere als wenn ich es so mache?
Maybe mit:
Alles in Produkt speichern und eine Methode womit ich nur das produkt übergebe?
PS: Muss die connection zu db immer eine main haben?
Oder kann ich dass auch alles in methoden verpacken?