我在网上找不到任何相关内容。
我需要编辑数据库中列中的所有值,但我找不到方法。
我在做:
if (upgradeCursor.moveToFirst()){
do {
db.editListsColumn("0");
} while (upgradeCursor.moveToNext());
}
upgradeCursor:
return mDb.query(ProductsData.PRODUCTS_TABLE, null, null, null, null, null, null);
并且editListsColumn(“0”):
public void editListsColumn(String lists) {
mDb=mDbHelper.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(ProductsMetaData.PRODUCT_PRODUCT, lists);
mDb.update(ProductsData.PRODUCTS_TABLE, cv, "lists=?", null);
}
我被困在这里。
目前我们非常感谢任何建议!非常感谢你。
答案 0 :(得分:1)
您是否尝试过没有where子句的简单更新,并且没有迭代游标。我的意思是简单地称之为:
mDb=mDbHelper.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(ProductsMetaData.PRODUCT_PRODUCT, lists);
mDb.update(ProductsData.PRODUCTS_TABLE, cv, null, null);
没有:
if (upgradeCursor.moveToFirst()){
do {
db.editListsColumn("0");
} while (upgradeCursor.moveToNext());
}
从update(String table, ContentValues values, String whereClause, String[] whereArgs)
方法的文档中:在NULL
中传递whereClause
将更新所有行。
http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html