如何在android中更新SQLite中的特定行

时间:2017-06-09 18:50:23

标签: android sql android-sqlite

我有一个database有两列COLUMN_ACCOUNTCOLUMN_PASSWORD,其中表格如下所示

COLUMN_ACCOUNT       COLUMN_PASSWORD

facebook               a
gmail                  b
twitter                c

现在,我希望名称为row的{​​{1}}从COLUMN_ACCOUNT = facebook更改COLUMN_PASSWORD。结果表格如下:

a to x

我尝试过使用此功能:

COLUMN_ACCOUNT       COLUMN_PASSWORD

facebook               x
gmail                  b
twitter                c

其中public int modifyCredentials(String account,String newPass){ SQLiteDatabase db=this.getWritableDatabase(); ContentValues contentValues=new ContentValues(); contentValues.put(COLUMN_PASSWORD,newPass); String whereClause=COLUMN_ACCOUNT + " =?"; String[] whereArgs=new String[]{account}; int update=db.update(TABLE_NAME,contentValues,whereClause,whereArgs); return update; } parameters的值为accountfacebook的值为pass,但不起作用。参数没有问题,我仔细检查过,我认为问题出在x。能否帮助我完成所需的sql query。谢谢:))

3 个答案:

答案 0 :(得分:0)

仔细阅读本页:https://developer.android.com/training/basics/data-storage/databases.html。 它为您提供所需的一切。

此外,您不应使用db.execSQL(...);。 Android为您提供了更方便的插入,查询,更新和删除行的方法。

答案 1 :(得分:0)

在您拥有的所有字符串文字中添加间距,因为它们可能会导致您遇到的问题。

特别是在TABLE_NAME和"之间SET"所以它们可以是明确不同的词语

答案 2 :(得分:0)

尝试使用void

Save