android.database.sqlite.SQLiteDiskIOException : disk I/O error (code 1802)

标签 android database

我写了一些用于删除数据库文件夹的代码。它删除数据库但也抛出错误。请建议我如何解决这个问题。

删除数据库代码

public void deleteDB() {
        try {
            File db_path = new File(
                    "/data/data/pacakge_name/databases/mydatabase_db.db");
            db_path.delete();
            System.out
                    .println("Database deleted successfully================================");
        } catch (Exception e) {
            // TODO: handle exception
            Log.e("Error==", e.toString());
        }
    }
Cursor cursor = handler.getCategoryData("1");
                        if (cursor.moveToFirst()) {
                            System.out
                                    .println("database has data................................");
                        } else {
                            System.out
                                    .println("database has no data.............................");
                            LiveTVCategoryParser category_parser = new LiveTVCategoryParser();
                            category_parser.category_parser(Splash.this, "1",
                                    "live_root");
                        }

错误:

android.database.sqlite.SQLiteDiskIOException: disk I/O error (code 1802)
E/AndroidRuntime(  613):    at android.database.sqlite.SQLiteConnection.nativeExecuteForCursorWindow(Native Method)
E/AndroidRuntime(  613):    at android.database.sqlite.SQLiteConnection.executeForCursorWindow(SQLiteConnection.java:838)
E/AndroidRuntime(  613):    at android.database.sqlite.SQLiteSession.executeForCursorWindow(SQLiteSession.java:836)
E/AndroidRuntime(  613):    at android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:62)
E/AndroidRuntime(  613):    at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:143)
E/AndroidRuntime(  613):    at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:133)
E/AndroidRuntime(  613):    at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:196)
E/AndroidRuntime(  613):    at android.database.AbstractCursor.moveToFirst(AbstractCursor.java:236)
E/AndroidRuntime(  613):    at com.zengamedia.ui.Splash$1.run(Splash.java:51)
E/AndroidRuntime(  613):    at java.util.Timer$TimerImpl.run(Timer.java:284)

最佳答案

在删除 SQLite 文件之前,您应该关闭游标和数据库。

关于android.database.sqlite.SQLiteDiskIOException : disk I/O error (code 1802),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13910013/

相关文章:

php - 执行很长的 SQL 结果后突然停止

database - 立即执行 'alter table'错误pl/sql

php - 创建表 mysql

c# - 需要递归查找。 DB 与 C# GUI

MySQL以不同的方式使用Count

php - android 用户名密码通过json发送到php-->sql

android - 尝试加载动画时 Resources$NotFoundException

java - 当日期格式为 dd-MMM-yyyy 时无法找到两个日期之间的天数

android - 将 Android 源插件与 Eclipse ADT 包一起使用

java - 如何在 onClick(View v) 方法中抛出异常