Firebird 提交在 Java 应用程序中不起作用

Firebird commit doesn't work in Java Application

我正在使用一个过程在我的 firebird 数据库中插入数据。此过程在 while 命令中调用,因为我可以插入多少项没有限制,例如:

while (there's itens) {
    query("select * from procedure_insert(id,desc,etc);");
}

这不起作用,在我完成插入后,数据库中没有插入任何项目。毫无疑问,我的程序运行良好,我相信这是我用来查询和提交

的 class 的问题

这是我的代码:

坚持class:

public class Persistence {

    public static Connection con = Conn.getConn();
    public static Statement stm  = null;

    public static void Conn(){
        try {
            stm  = con.createStatement();
        } catch (SQLException e) {
            //
        }
    }

    public static void Insert(String query) {

        try {
            stm.execute(query);
        } catch (SQLException e) {
            //
        } 
    }

    public static void Commit(){
        try {
            con.commit();
    } catch (SQLException e) {
        //
    }
}

插入:

while(rs.next()){

    Items item = new Items();
    item.setItem_data(rs.getString("ZPED_ITEM_DATA"));
    item.setItem_desconto(rs.getDouble("ZPED_ITEM_VALOR_V") - rs.getDouble("ZPED_ITEM_DESCONTO"));
    item.setItem_produto(rs.getInt("ZPED_ITEM_PRODUTO"));
    item.setItem_qtd(rs.getDouble("ZPED_ITEM_QTD"));
    item.setItem_valor_v(rs.getDouble("ZPED_ITEM_VALOR_V"));
    item.setPed_cod(rs.getInt("ZPED_COD"));
    ////////////////////////////////////////////////////////////////
    Persistence.Insert("SELECT * FROM PEDIDOS_PROC("+a+","+b+","+p.get(0).getCod_n()+",'"+p.get(0).getData()+"',55,"+item.getItem_produto()+",0,"+item.getItem_qtd()+","+item.getItem_valor_v()+",'A',2);");
    Persistence.Commit();
}

谢谢!

我正在使用 JDBC Jaybird Full 2.2.7

是PEDIDOS_PROC可选择的程序吗?如果不是你必须执行它

execute procedure PEDIDOS_PROC(params...)