我正在尝试在 Mozilla 平台中使用存储机制(在 thundebird 3.0 中)。
每次测试后使用以下代码擦除数据库中存在的表:
function tearDown()
{
let database = new Database();
let req1 = "SELECT name FROM sqlite_master WHERE type='table'";
let statement = database.connection.createStatement(req1);
let tables = [];
while(statement.executeStep()) {
tables.push(statement.row.name);
}
statement.reset();
for(table in tables) {
let req2 = "DROP TABLE " + tables[table];
database.connection.executeSimpleSQL(req2);
}
}
但是我在( ) 期间executeSimpleSQL
出现错误,似乎 SQLite 没有从第一条语句中释放锁。我试过, ,但没有任何效果。如何正确释放第一条语句的锁?req2
NS_ERROR_FILE_IS_LOCKED
reset()
finalize()