0

SQLite データベースで削除機能を実装しようとしています。すでにいくつかの静的データ (Product_1、_2、_3...) を含むリストがあり、db.insert を使用して新しい位置を追加します。言うログ

05:35:10.875    495 example.CustomAdapter   DEBUG       row inserted, ID = 2

05:35:10.885 495 example.CustomAdapter DEBUG ID = 1、名前 = 05:35:10.885 495 example.CustomAdapter DEBUG ID = 2、名前 = A1

新しいポジションが追加され、見ることができました。次に、ID=1 を db.delete(DBHelper.TABLE, DBHelper.COLUMN_ID + id, null); で削除します。(long id = acmi.id; AdapterView.AdapterContextMenuInfo acmi = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();) から受け取った id およびログには、そのような列がないと表示されます:

05:35:27.955    495 example.CustomAdapter   ERROR   AndroidRuntime  FATAL EXCEPTION: main

05:35:27.955 495 example.CustomAdapter ERROR AndroidRuntime android.database.sqlite.SQLiteException: そのような列はありません: _id5: 、コンパイル中: DELETE FROM mytable WHERE _id5 05:35:27.955 495 example.CustomAdapter ERROR AndroidRuntime at android.database. sqlite.SQLiteCompiledSql.native_compile(ネイティブメソッド)

私は何を間違っていますか?静的データで満たされた 4 つのポジションが既にあるためでしょうか? ここに画像の説明を入力

4

1 に答える 1

1

最初にこれを読んでください:http: //en.wikipedia.org/wiki/Column_%28database%29

次に、これを読んでください:

SQLiteException: no such column: _id5:

_id5という列がありません。値5を含む可能性のあるIDという列があります。

5を含む列IDを持つ行( http://en.wikipedia.org/wiki/Row_(database) )を削除するには:

db.delete(DBHelper.TABLE,"ID=" + id,null);

また

db.delete(DBHelper.TABLE,"ID=?",id);

ここで、idは5です。

于 2012-10-15T06:28:14.253 に答える