これが私のコードで削除します。SQLiteDatabaseは(table_nameは、NULL、NULL)はテーブル内のすべての行を削除されていない
Db.getInstance().beginTransaction();
int i = Db.getInstance().delete("friends", null, null);
Log.e(TAG, "dropDB: " + i);
Db.getInstance().setTransactionSuccessful();
Db.getInstance().endTransaction();
私はSOのコミュニティを検索しましたが、このコードで間違っているものを見つけることができません。私が削除すると、iの値は削除された行の数ですが、依然としてデータベースは行を返し続けます。 DbはSQLiteDatabaseオブジェクトを初期化してgetWritableDatabase()
を取得する独自のヘルパークラスです。
を試してみてください? 「行を返す」とは、具体的にはどういう意味ですか? – laalto
これは、影響を受ける行の数を返します。この場合、削除されます。 – user2278116
上記のコードの後に、 'Cursor csr = Db.getInstance()。query(" friends " 、null、null、null、null、null、null、null); Log.d(TAG、 "友人は今" + Integer.toString(csr.getCount())+ "行"); '。 *私はチェックしていないので、タイプミスが発生する可能性があります。* – MikeT