我想在 MySQL 数据库中输入几个条目。因为有些表通过外键引用其他表,所以我必须取回插入的 ID 以在我的下一个语句中注入它们。
我有 4 节课:
LodgerFormTest
RentForm
RentObject
House
以及将 MySQL 语句插入数据库的类:sql_statements
当我想发送一条 SQL 语句时,我得到一个 nullPointer 异常!
House 类的 Action 监听器(这是我必须发送的第一个 sql 语句)如下所示:
saveButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println("saveButton");
// sql_statements statements = new sql_statements();
sql_statements.performHouse(strasse.getText(), plz.getText(), ort.getText());
mainmenu.create();
rentnerFrame.dispose();
}
});
我在 sql_statements 中使用的所有方法和变量都是静态的!因此我没有实例化一个对象。
这是 sql_statements 中的方法“performHouse”
public static void performHouse(String strasse, String plz, String ort) {
String sql = "insert into haus(strasse, plz, ort) values (?,?,?)";
System.out.println(sql);
try{
ps = connect.prepareStatement(sql, ps.RETURN_GENERATED_KEYS);
ps.setString(1, strasse);
ps.setString(2, plz);
ps.setString(3, ort);
ps.execute();
rs = ps.getGeneratedKeys();
if(rs != null && rs.next()) {
// Retrieve the auto generated key(s).
key_idhaus = rs.getLong(1);
System.out.println("idhaus: " + key_idhaus);
}
}catch(Exception ex){
System.out.println(ex);
}
} // close performHouse-methode
我无法调试,因为我得到“找不到源”。调试视图中的错误。有人可以帮忙吗?