使用后续查询时无法打开数据库文件错误

维吉内尔

我有以下代码,第一个光标对象工作正常,但是当我执行另一个查询并将其分配给flightCursor时,它给出了错误。

Cursor cursor = database.query( CityAndAirportsTable.notificationsTable, new String[] { CityAndAirportsTable.notifyFlightId },
                null, null, null, null, "Id DESC" );
        cursor.moveToFirst();
        while( !cursor.isAfterLast() ){
            String id = String.valueOf( cursor.getInt( 0 ) );
            Cursor flightCursor = database.query( CityAndAirportsTable.flightTable, new String[] { CityAndAirportsTable.fromDestinationCode,
            CityAndAirportsTable.toDestinationCode, CityAndAirportsTable.currentPrice }, CityAndAirportsTable.flightId + "=" + id,
                    null, null, null, null );
}

在FlightCursor = database.query中,我得到了错误。

日志

03-27 23:49:09.628: E/SQLiteLog(2296): (14) cannot open file at line 30046 of [9491ba7d73]
03-27 23:49:09.628: E/SQLiteLog(2296): (14) os_unix.c:30046: (24) open(/data/data/com.flightapp.myapp/databases/Application_DB-journal) - 
03-27 23:49:09.628: E/SQLiteLog(2296): (14) cannot open file at line 30046 of [9491ba7d73]
03-27 23:49:09.628: E/SQLiteLog(2296): (14) os_unix.c:30046: (24) open(/data/data/com.flightapp.myapp/databases/Application_DB-journal) - 
03-27 23:49:09.628: E/SQLiteLog(2296): (14) statement aborts at 11: [SELECT From_Destination_Code, To_Destination_Code, Current_Price FROM Flights WHERE Id=2] unable to open database file
03-27 23:49:09.629: E/SQLiteQuery(2296): exception: unable to open database file (code 14); query: SELECT From_Destination_Code, To_Destination_Code, Current_Price FROM Flights WHERE Id=2

在stackoverflow上也有类似的问题,但就我而言,第一个查询有效,但是第二个查询失败。

数学eww

完成操作后,关闭光标!我想您打开的游标对象太多了

Cursor cursor = database.query( CityAndAirportsTable.notificationsTable, new String[] { CityAndAirportsTable.notifyFlightId },
                null, null, null, null, "Id DESC" );
cursor.moveToFirst();
while( !cursor.isAfterLast() ){
  String id = String.valueOf( cursor.getInt( 0 ) );
  Cursor flightCursor = database.query(
    CityAndAirportsTable.flightTable,
    new String[] { CityAndAirportsTable.fromDestinationCode,
      CityAndAirportsTable.toDestinationCode,
      CityAndAirportsTable.currentPrice },
    CityAndAirportsTable.flightId + "=" + id,
    null, null, null, null );

  /* Close the cursor here! */
  flightCursor.close();
  /* ---------------------- */
}

希望这可以解决您的问题

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法打开数据库文件

错误:“无法打开数据库文件”和“打开的文件太多”

无法在golang中打开SQLite数据库:“无法打开数据库文件[已恢复]”-错误

SQLite无法在频繁的“ SELECT”查询中打开数据库文件(代码14)

放置在网络文件夹中时,无法打开SQLite数据库文件

OperationalError:无法打开数据库文件

SQLite-无法打开数据库文件

Awslogs awslogsd-无法打开数据库文件

django中的“无法打开数据库文件”

无法打开数据库文件-Mayan EDMS

SQLiteException:“无法打开数据库文件”

SQLite错误代码:14,“无法打开数据库文件”

令人困惑的Django sqlite3“无法打开数据库文件”错误

如何修复Flask应用中的“错误:无法打开数据库文件”?

Microsoft.Data.Sqlite.SqliteException:'SQLite错误14:'无法打开数据库文件'。

编译时无法打开数据库文件(代码14):PRAGMA journal_mode

CDbConnection无法打开数据库连接:无法打开数据库文件

使用python打开数据库文件(.db)

无法在sqlite中打开数据库文件(使用finisar.sqlite)

无法打开使用SQLCipher Android创建的数据库文件

打开.gdb数据库文件

无法打开 sqlite 数据库,指定目录或数据库文件不存在

当包含由wsgi脚本托管的chatter bot的flask应用程序无法打开数据库文件时发生错误(sqlite3.OperationalError)

无法从UWP应用的本地数据存储中打开SQLite数据库文件

SQLite未捕获的PDOException-无法打开数据库文件

sqlite3.OperationalError:无法打开数据库文件

sqlite3.OperationalError:无法打开数据库文件

为什么我的SQLite表上显示“无法打开数据库文件”?

SQLite3,OperationalError:无法打开数据库文件