0

我想在 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

我无法调试,因为我得到“找不到源”。调试视图中的错误。有人可以帮忙吗?

4

1 回答 1

0

好吧,我只是想完成任务,所以我实现了一个解决方案,它肯定是但不是 OO:

我在所有 4 个类中实现了冗余代码,每个类都实现了自己的 sql 语句。又快又脏;)

于 2012-04-22T12:12:01.687 回答