插入新数据后,使用数据库数据更新JcomboBox中的数据

时间:2016-12-06 15:19:55

标签: java swing

当我关闭另一个Jframe时,我无法刷新JComboBox。

我所追求的是ComboBox从数据库中的数据刷新其数据并显示它。问题是新数据是通过另一个页面进行的。

示例:

Frame where the Combobox needs to refresh after other frame has inserted data. But it needs to not delete already entred data into the program Frame where the data is inserted to the database.

插入Jframe Codigo postais:

LigacaoBD ligaDB = new LigacaoBD();
     Connection con = ligaDB.obterLigacao();

     String query=null;
     Statement xpto;

     try {
        xpto= con.createStatement();




      xpto.executeUpdate("INSERT INTO codigospostais (cod_postal, localidade) VALUES ('" + this.jCodPostal.getText() + "', '" + this.jtflocalidade.getText() +"')");
    }

    catch (SQLException sqle) {
        JOptionPane.showMessageDialog(null, sqle + "Erro no query");
        //System.out.println("Erro no query");
    }

     ligaDB.fecharLigacao(con);

1 个答案:

答案 0 :(得分:1)

如果您在客户端创建表单打开时保存新邮政编码时尝试确保使用最新的邮政编码更新邮政编码选项,您只需在下拉按钮中添加一个监听器每次单击按钮时都会查询更新的列表。

另外,创建这样的查询字符串是不正确的:

xpto.executeUpdate("INSERT INTO codigospostais (cod_postal, localidade) VALUES ('" + this.jCodPostal.getText() + "', '" + this.jtflocalidade.getText() +"')"); 

这使您的代码容易受到SQL注入的影响。尝试阅读PreparedStatements以获得更好的解决方案。