L
lain
Gast
Hey Leute,
ich schätze mal das ich hier an ner Kleinigkeit hängen bleib jedoch nicht sehe wo mein Fehler liegt.
Zum einen hab ich die PreisAnfrageMysql Klasse mit der sql Methode
Eine Fenster Klasse in der ich ein paar Felder anzeigen lasse und diese mit Werten aus der Datenbank füllen will.
Da habe ich jetzt versucht über ein Getter den Inhalt vom Textfeld mit dem Wert aus der Datenbank zu füllen. Jedoch scheint in dem Fall "Sum" einfach noch leer zu sein obwohl ich in meiner main erst die Mysql Klasse ausführe und dann die Fenster Klasse also:
Ich hoffe mir kann jemand sagen wo mein Fehler liegt dabei das Textfeld zu füllen oder ob das total falsch ist wie ichs mache.
ich schätze mal das ich hier an ner Kleinigkeit hängen bleib jedoch nicht sehe wo mein Fehler liegt.
Zum einen hab ich die PreisAnfrageMysql Klasse mit der sql Methode
Code:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.*;
public class PreisAnfrageMysql {
PreisAnfrageFenster fenster;
ResultSet fail;
String sum;
public void sql(){
try {
Statement stmt;
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/JunkDB2";
Connection con = DriverManager.getConnection(url,"root", "");
System.out.println("URL: " + url);
System.out.println("Connection: " + con);
stmt = con.createStatement();
try{
stmt.executeUpdate("CREATE DATABASE JunkDB2");
}catch(Exception ex){
}
stmt.executeUpdate("DROP TABLE persons");
stmt.executeUpdate("CREATE TABLE persons(P_Id int,LastName varchar(255))");
stmt.executeUpdate(
"INSERT INTO persons (P_Id, LastName) VALUES (1,2)");
fail = stmt.executeQuery("SELECT P_Id FROM persons");
while(fail.next()){
sum = fail.getString("P_Id");
}
System.out.println(sum);
con.close();
}catch( Exception e ) {
e.printStackTrace();
}//end catch
}//end class sql
public String getSum() {
return sum;
}
}//end class PreisAnfrageMysql
Eine Fenster Klasse in der ich ein paar Felder anzeigen lasse und diese mit Werten aus der Datenbank füllen will.
Code:
import java.awt.Button;
...
public class PreisAnfrageFenster extends Frame {
//Attribute
//Labels
Label lbl1;
Label lbl2;
//TextFelder
TextField txtFeld1;
TextField txtFeld2;
//Dropdownmenüs
Choice choi1;
Choice choi2;
//Buttons
Button btnZurueck;
Button btnWeiter;
//MySql
PreisAnfrageMysql foobar;
String lolwhat;
//Konstruktoren
public PreisAnfrageFenster(){
setBounds(50, 50, 300, 350);
setBackground(Color.lightGray);
setLayout(null);
lbl1 = new Label("Auflage: ");
lbl1.setBounds(20, 170, 60, 20);
add(lbl1);
txtFeld1 = new TextField();
txtFeld1.setBounds(20, 190, 120, 20);
add(txtFeld1);
lbl2 = new Label("Format: ");
lbl2.setBounds(160, 170, 60, 20);
add(lbl2);
choi1 = new Choice();
choi1.setBounds(160, 190, 120, 20);
choi1.add("Fucker");
choi1.add("Fuckers");
choi1.add("Fuckesten");
add(choi1);
System.out.println("what the heck");
lolwhat = foobar.getSum(); //Hier bekomm ich immer eine
//NullPointerException
//txtFeld1.setText(foobar.getSum()); //Hier genauso
System.out.println("Ende");
}
//Methoden
}
Da habe ich jetzt versucht über ein Getter den Inhalt vom Textfeld mit dem Wert aus der Datenbank zu füllen. Jedoch scheint in dem Fall "Sum" einfach noch leer zu sein obwohl ich in meiner main erst die Mysql Klasse ausführe und dann die Fenster Klasse also:
Code:
public static void main(String[] args) {
new PreisAnfrageMysql().sql();
new PreisAnfrageFenster().setVisible(true);
}
Ich hoffe mir kann jemand sagen wo mein Fehler liegt dabei das Textfeld zu füllen oder ob das total falsch ist wie ichs mache.