Android: 更新 SQLite 数据库

Android: Update SQLite database

我是 Android 的新手。我正在尝试更新 sqlite 数据库中的信息。大多数时候我能够更新信息,但有时我的 phone 会出现更新错误。我已经调试了很多次,它表明我的代码没有任何问题。我正在使用 Android 版本 5.1.1 Lollipop 作为测试工具。大多数时候,更新 sqlite 工作正常,但有时应用程序会崩溃。

以下是我的代码更新代码。请告诉我我的代码有什么问题。

public void updateArticle(String NewName, String oldName) {
    SQLiteDatabase db = getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(COLUMN_ARTICLENAME, NewName);
    db.update(TABLE_ARTICLE, values, COLUMN_ARTICLENAME + " = '" + oldName + "'", null);
    db.close();
}

谢谢。

可以有多个 Java 教程,因此当游标开始查找行时,它会更新不同的行,这不是您期望的行。想象一下,有一个列表视图,上面列出了您的行。获取带有 id 的项目并更新它是一个更好的编码实践。您可以查看以下链接,希望对您的问题有所帮助。

http://androidopentutorials.com/android-sqlite-example/ http://www.mysamplecode.com/2012/07/android-listview-cursoradapter-sqlite.html

你也必须更新数据库的版本!

@Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        try
        {
            db.execSQL(DROP_TABLE);
            onCreate(db);
            Message.message(context, "onUpgrade called");
        } catch (SQLException e)
        {
            Message.message(context, "" + e);            }
    }

与 DATABASE_VERSION = 1