使用JAVA或Postgres插入数据库的解决方案

时间:2014-12-23 14:20:34

标签: java postgresql

see this picture http://img11.hostingpics.net/pics/152251projet.jpg

我如何添加新客户或供应商?,上次我将这个类用于一个表"客户":

代码:

public int addnewcustomer(){
    int idcust;
    DBConnection eConnexion = new DBConnection();
    try {
        //Statement state = eConnexion.getConnexion().createStatement();
        String sql = "INSERT INTO customer(name_cust, num_cust, adress_cust, city_cust , tel_cust, ref_cust)";

        sql+= "VALUES (?,?,?,?,?,?)";
        PreparedStatement insertQuery = eConnexion.getConnexion().prepareStatement(sql);
        insertQuery.setString(1,Name_cust);
        insertQuery.setString(2,Num_cust);
        insertQuery.setString(3,Adress_cust);
        insertQuery.setString(4,City_cust );
       insertQuery.setString(5,Tel_cust);
       insertQuery.setString(6,Ref_cust);

       insertQuery.executeUpdate();

} catch (SQLException e) {
        e.printStackTrace();
    //JOptionPane.showMessageDialog(null,"Erreur:the addition is not performed with Succee!");
        idcust = 0;
    }
    eConnexion.closeConnection();
    idcust= Services.getLastInsertedId("customer","id_customer");
    return idcust;
}

目前,我使用新表" person"附加所有表格。现在所有的表都扩展了#34; person",我试图用超级变量添加新客户" person"但是我一直在填写外键" id_pers FK"。

1 个答案:

答案 0 :(得分:0)

首先,您需要将一个人留在您的数据库中。成功(!)持久化后,您可以查询数据库用于插入数据的id。大多数数据库还提供了一种在插入后直接检索已使用的id的方法。 成功保留此人后,您可以使用外键列的id。

您可以考虑使用交易来执行这些操作,因为在没有客户/员工的情况下,任何人都不应该延长人员数据。 使用事务,您可以回滚先前的操作,例如,如果在插入客户期间出现问题,