2017-08-12 6 views
-1

我試圖更新我的數據庫中的特定行。我試圖用按鈕更新單個數據。但是,當我運行應用程序數據庫不更新,我沒有收到任何錯誤。我做錯了什麼?更新SQLite Android

這是我的代碼。

在我的Java類:

public void Favorite1(View view){ 

    loginDataBaseAdapter = new LoginDataBaseAdapter(this); 
    loginDataBaseAdapter = loginDataBaseAdapter.open(); 
    String favorite_1 = "FIZO MAWAR"; 

    loginDataBaseAdapter.updateEntry(favorite_1); 
    loginDataBaseAdapter.close(); 
    finish(); 

} 

我的數據庫:

public void updateEntry(String favorite_1) { 
    ContentValues values = new ContentValues(); 

    values.put("FAVORITE1", favorite_1); 

    db.update("LOGIN", values, "USERNAME = ?", null); 
} 

回答

2

你使用一個其中條款,但通過null作爲參數。請參閱update方法的文檔。假設一個名爲「FAVORITE1」存在於「LOGIN」表列,正確的用法是:

db.update("LOGIN", values, "USERNAME = ?", new String[]{username}); 

如果favorite_1參數已經代表一個用戶名(我傾向於從您的代碼來推斷),使用它:

db.update("LOGIN", values, "USERNAME = ?", new String[]{favorite_1});