2017-08-12 80 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});