SQLITE数据库java操作错误(IDE:Netbeans)



我在java IDE NetBeans中遇到了Sqlite数据库问题。

我的数据库中有四个表,其中三个表工作正常,但最后一个表不工作!假设当我想在JTable和Database中插入我的数据时,它会显示JTable中的值,但有时它会插入值,有时它不会将值插入数据库

下面是对按钮执行的操作,通过该按钮将数据插入jTable和数据库!

private void jButton17ActionPerformed(java.awt.event.ActionEvent evt) {
    PreparedStatement pst = null;
    Connection conn = null;
    try {
        String sql = "insert into month (No,Description,Sale,Expense,Total)
                      values (?,?,?,?,?)";
        pst = conn.prepareStatement(sql);
        pst.setString(1, txt_srM.getText());
        pst.setString(2, txt_dateM.getText());
        pst.setString(3, txt_tsaleM.getText());
        pst.setString(4, txt_texpM.getText());
        pst.setString(5, txt_subtM.getText());
        pst.execute();
        JOptionPane.showMessageDialog(null, "Saved!");
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }
}

您应该在第一条语句中连接数据库。即

  con = (YourDB/urDBconnectingClassName)
  try {
    String sql = "insert into month (No,Description,Sale,Expense,Total)
                  values (?,?,?,?,?)";
    pst = conn.prepareStatement(sql);
    pst.setString(1, txt_srM.getText());
    pst.setString(2, txt_dateM.getText());
    pst.setString(3, txt_tsaleM.getText());
    pst.setString(4, txt_texpM.getText());
    pst.setString(5, txt_subtM.getText());
    pst.execute();
    JOptionPane.showMessageDialog(null, "Saved!");
} catch (Exception e) {
    JOptionPane.showMessageDialog(null, e);
}

如果你这样做。。那么您必须在方法结束时关闭数据库连接,即

 }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }finally{
    try{
        rs.close();  //where rs = resultstatement
        pst.close();
    }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }
}    

如果你不关闭连接,它正在用另一种方法连接。。您可能会得到数据库锁定错误!错误

希望这对你有帮助!

最新更新