【发布时间】:2022-10-09 18:01:37
【问题描述】:
当我执行以下代码时,我得到:
“[SQLITE_BUSY] 数据库文件被锁定(数据库被锁定)”
try { String query = "WITH updates(ID, newvalue) AS ( SELECT TotalStock.Sl_No, TotalStock.Price * TotalStock.Preferred_Stock FROM TotalStock ) update TotalStock SET Total_Price= ( SELECT newvalue FROM updates WHERE TotalStock.Sl_No = ID )"; String query_2="select Sl_No, Item_Name, Perishable, Stock, Preferred_Stock, Total_Price from TotalStock where Stock=?"; PreparedStatement pst=connection.prepareStatement(query); PreparedStatement pst_2=connection.prepareStatement(query_2); pst_2.setString(1, "0"); pst.executeUpdate() ; ResultSet rs_2 = pst_2. executeQuery() ; table.setModel(DbUtils.resultSetToTableModel(rs_2)); } catch (Exception e1) { e1.printStackTrace(); }SQLite 连接:
Connection conn = null; public static Connection dbConnector() { try { Class.forName("org.sqlite.JDBC"); Connection conn = DriverManager.getConnection("jdbc:sqlite:/Users/aditya/Downloads/EISJ/CS/IA/DATABASE/login_cred.db"); return conn; } catch (Exception e) { JOptionPane.showMessageDialog(null,e); return null; } }
【问题讨论】:
-
“锁定”的意思是:其他一些进程正在使用它。解决方法是找到任何其他应用程序(可能是另一个 JVM、SQLite 命令行工具等)并关闭它。