我有包含「日期」列和「項目」列的數據庫。 我希望該用戶可以更新數據庫中的特定行。 我試圖用SQLiteDatabase類中的update方法來做到這一點。 我的問題是,我不知道如何使更新方法準確找到我想要的行。 我看到一些使用它的參數來自一個單詞的例子。 這樣的:更新SQlite數據庫中的行在Android中的行位置
ourDatabase.update(tableName, cvUpdate, rowId + "=" + item , null);
我的問題是,我想更新具有特定項目和日期行。所以這個項目的名字是不夠的。 我試過下面的代碼,但它沒有工作,希望你能幫助我。
public void updateEntry(String item, String date) throws SQLException{
String[] columns = new String[]{myItem, myDate};
Cursor c = ourDatabase.query(tableName, columns, null, null, null, null, null);
long position;
ContentValues cvUpdate = new ContentValues();
cvUpdate.put(date, myDate);
cvUpdate.put(item, myExercise);
int itemAll = c.getColumnIndex(myItem);
int dateAll = c.getColumnIndex(myDate);
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
if (c.getString(itemAll).equals(myItem) && c.getString(dateAll).equals(myDate))
{
position = c.getPosition();
break;
}
}
ourDatabase.update(tableName, cvUpdate, rowId + "=" + position , null);
}
你不能使用SQL? UPDATE mytable SET date = A WHERE date = X and item = Y – jarmod 2013-05-02 16:08:49
用什麼方法放這個字符串? – tomer 2013-05-02 20:08:59
看到http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/ – jarmod 2013-05-03 01:16:07