Android 在SQLite中从表中删除行时出现问题
我有这样一个数据库:Android 在SQLite中从表中删除行时出现问题,android,android-sqlite,Android,Android Sqlite,我有这样一个数据库: public static final String TABLE = "NOTE_TABLE"; public static final String ID = "COLUMN_ID"; public static final String CHARS = "COLUMN_CHARS"; public static final String DATE = "COLUMN_DATE"; publ
public static final String TABLE = "NOTE_TABLE";
public static final String ID = "COLUMN_ID";
public static final String CHARS = "COLUMN_CHARS";
public static final String DATE = "COLUMN_DATE";
public void onCreate(SQLiteDatabase db) {
String createTableStatemnet = "CREATE TABLE " + TABLE +
" (" + ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + CHARS + " TEXT," + DATE + " TEXT)";
db.execSQL(createTableStatemnet);
}
我定义了一个删除行的方法:
public void removeOne(int id) {
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE, "COLUMN_CHARS=?", new String[]{Integer.toString(id)});
db.close();
}
并从onClickListener()调用它
但是当我检查数据库检查器时,没有删除任何行。
我做错了什么?试试看
public void removeOne(int id) {
SQLiteDatabase db = this.getWritableDatabase();
db.execSQL("DELETE FROM TABLE WHERE COLUMN_ID=?", new Int[] { id });
db.close();
}
或
因为您正在传递id(Int),并且试图使用列_字符(String)进行删除
希望它能起作用
public void removeOne(int id) {
SQLiteDatabase db = this.getWritableDatabase();
db.execSQL("DELETE FROM TABLE WHERE COLUMN_ID=?", new Int[] { id });
db.close();
}
public void removeOne(int id) {
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE, "COLUMN_ID=?", new Int[] { id });
db.close();
}