无法编辑 SQLite 数据库名称

Posted

技术标签:

【中文标题】无法编辑 SQLite 数据库名称【英文标题】:Can't edit SQLite database name 【发布时间】:2016-09-11 15:42:54 【问题描述】:

我无法编辑我的数据库名称,也找不到我放入数据库的信息列表。

如果我尝试将数据库名称从“diet”更改为其他名称,我仍然可以运行,但会出现绿色下划线错字。我正在学习本教程。

public class DietDbHelper extends SQLiteOpenHelper 
    public static final String TABLE_NAME = "entry";
    public static final String COLUMN_NAME_ID = "_id";
    public static final String COLUMN_NAME_TIMESTAMP = "timestamp";
    public static final String COLUMN_NAME_WEIGHT = "weight";

    private static final String SQL_CREATE_ENTRIES =
            "CREATE TABLE " + TABLE_NAME + " (" +
                    COLUMN_NAME_ID + " INTEGER PRIMARY KEY," +
                    COLUMN_NAME_TIMESTAMP + " INTEGER," +
                    COLUMN_NAME_WEIGHT + " INTEGER )";

    private static final String SQL_DELETE_ENTRIES = "DROP TABLE IF EXISTS " + TABLE_NAME;

    // If you change the database schema, you must increment the database version.
    public static final int DATABASE_VERSION = 2;
    public static final String DATABASE_NAME = "diet";

    public DietDbHelper(Context context) 
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    
    public void onCreate(SQLiteDatabase db) 
        db.execSQL(SQL_CREATE_ENTRIES);
    
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 
        // This database is only a cache for online data, so its upgrade policy is
        // to simply to discard the data and start over
        db.execSQL(SQL_DELETE_ENTRIES);
        onCreate(db);
    
    public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) 
        onUpgrade(db, oldVersion, newVersion);
    

【问题讨论】:

您忘记了教程的链接。什么是“绿色下划线错字”? android rename SQLite Database的可能重复 【参考方案1】:

我会将您的数据库名称代码从 public static final String DATABASE_NAME = "diet";

到 公共静态最终字符串 DATABASE_NAME = "diet.db"; 我所有的 sqlite 列名、表名和数据库名都以绿色突出显示。

【讨论】:

【参考方案2】:

您必须为您在数据库结构中所做的每次更改更改数据库版本。例如更改:

public static final int DATABASE_VERSION = 2;

public static final int DATABASE_VERSION = 3;

每次更改都以此类推。 我希望它会有所帮助

【讨论】:

更改文件名会生成一个全新的文件。

以上是关于无法编辑 SQLite 数据库名称的主要内容,如果未能解决你的问题,请参考以下文章

我无法在 cordova-sqlite-storage 中为 ionic 1 打开数据库

Grails + sqlite

getContext() 无法在 SQLite dB 中解析

HTML 5 SQLite 离线数据库

从 Android Studio 中的 SQLite 数据库中以字符串形式检索数据

SQLite 3 和 Odbc 数据源名称