2016-03-07 191 views
0

我是Android新手。我正在嘗試更新sqlite數據庫中的信息。大部分時間我都能夠更新信息,但有時我的手機出現更新錯誤。我進行了多次調試,它顯示我的代碼沒有任何問題。我正在使用Android版本5.1.1棒棒糖作爲測試工具。大多數時候,更新sqlite工作正常,但有時應用程序會崩潰。Android:更新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(); 
} 

謝謝。

+0

* 「但有時我的手機拿出更新的錯誤」 究竟*什麼錯誤? – m0skit0

+0

你的工作室有什麼錯誤? – Trinity

+0

其實並不是錯誤,它只是不能更新最新的信息。例如,如果舊名稱是Java教程,並將新名稱更新爲Java編程,則我會調試並看到沒有更新到sqlite。但有時我更新,它已成功更新。我感到奇怪。 –

回答

0

您必須更新數據庫的版本呢!

@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

+0

是的,我有onUpgrade函數來更新數據庫的版本。 –

-1

可以有多個Java教程,因此當光標開始查看行時,它會更新不同的行,這不是您預期的行。想象一下,有一個列表視圖和你列出的行。拿項目與身份證,並更新它是一個更好的編碼習慣。你可以看看下面的鏈接,我希望它會幫助你的問題。

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

+0

謝謝你的回覆 –

+0

不幸我們把地雷聲譽:) – Trinity