1

ListViewには、SQLITEデータベースのデータが表示されます。ListViewItemをロングクリックして、この特定のアイテムを削除します。EveryThingは正常に機能しますが、最初のアイテムが削除されません。LogCatなどでエラーが発生しません。何も起こりません。

これがDatabaseクラスからの私のコードです:

public void deleteEntry(String TABLE, int pos) {
    SQLiteDatabase database = this.getWritableDatabase();
    database.delete(TABLE, KEY_ROWID + "=?" , new String[] { String.valueOf(pos)});

    // also tryed this code
    database.delete(TABLE, KEY_ROWID + "= '" + pos +"'",null);
}

これが私のListViewアクティビティのコードです:

// Deletes the given row
            database.deleteEntry(MyDatabase.DATABASE_TABLE_ORDERS, position);
            updateList();

コミットされたintposがそれぞれのDatabseエントリのrowIdを表していることは間違いありません(最初のエントリのpos0、2番目のposは1など)

updateList()は、新しいリストビューを作成し、DBからすべてのデータを再度ロードします

最初のエントリ以外に、DBのListView /行のすべてのアイテムを削除できる理由を誰かが知っていますか?あなたの助けのためのthx!

4

2 に答える 2

0

database.execSQL("DELETE FROM" + TABLE + "ORDER BY" + column_to_order_by + "ASC LIMIT(0,1);"):

私は間違いなく最初にテストテーブルでこれをテストします!

于 2012-09-25T13:38:10.783 に答える