Al realizar cualquier acción que funciona en la base de datos, pero de repente se muestra un error de Base de datos está Bloqueado!

Supongamos que este es el actionPerformed en un botón:

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {       
//Sahil_Computers.ConnecrDb(); is the database connecting method!                                  
    conn = Sahil_Computers.ConnecrDb();
    try{
      String sql = "insert into dailyExp (Sr,Description,Amount) values (?,?,?)";
      pst = conn.prepareStatement(sql);
      pst.setString(1, txt_srE.getText());
      pst.setString(2, txt_desE.getText());
      pst.setString(3, txt_rsE.getText());

      pst.execute();
      JOptionPane.showMessageDialog(null, "Saved!");
    }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }finally{
    try{
        rs.close();
        pst.close();
    }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }
}    
  update_table_exp();
}

y luego otra vez al intentar realizar otra acción como:

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    conn = Sahil_Computers.ConnecrDb();
    String sql = "delete from dailySale where Sr=?";
    try{
        pst = conn.prepareStatement(sql);
        pst.setString(1, txt_sr1.getText());
        pst.execute();
        JOptionPane.showMessageDialog(null, "Deleted!");
    }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }finally{
    try{
        rs.close();
        pst.close();
    }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }
}    
  update_table_sale();
}

o de acción como este:

private void jButton9ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    conn = Sahil_Computers.ConnecrDb();
    try{
        String sum = null, sub= null;
        String subto = null;
        int sum1, sub1, subto1;
        String sql = "select sum(Debit) from dailySale";
        pst=conn.prepareStatement(sql);
        rs=pst.executeQuery();
        if(rs.next()){
            sum = rs.getString("sum(Debit)");
            txt_tsale.setText(sum);
        }
        sql = "select sum(Amount) from dailyExp";
        pst=conn.prepareStatement(sql);
        rs=pst.executeQuery();
        if(rs.next()){
            sub = rs.getString("sum(Amount)");
            txt_texp.setText(sub);
        }
        sum1 = Integer.parseInt(sum);
        sub1 = Integer.parseInt(sub);
        subto1 = sum1 - sub1;
        subto = Integer.toString(subto1);
        txt_tsub.setText(subto);
    }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }finally{
    try{
        rs.close();
        pst.close();
    }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }}}

A continuación, se muestra la base de datos está bloqueado!

InformationsquelleAutor Rafi Abro | 2013-08-21

1 Comentario

  1. 4

    Debe cerrar cualquier conexión abierta antes de abrir uno nuevo. Se está abriendo una nueva conexión conn = Sahil_Computers.ConnecrDb(); cada vez que se presiona un botón, pero nunca se cierra. Agregar conn.close(); a su finally bloques.

    Algún tema de preocupación: el uso de PreparedStatement#executeUpdate() lugar PreparedStatement#execute() cuando usted necesita para ejecutar un INSERT/UPDATE/DELETE.

Dejar respuesta

Please enter your comment!
Please enter your name here