我在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);
}
}
如果你不关闭连接,它正在用另一种方法连接。。您可能会得到数据库锁定错误!错误
希望这对你有帮助!