致命 - RuntimeException SQLite 从数据库中删除数据
Fatal - RuntimeException SQLite Remove Data from Database
我正在尝试从 SQLite table 中删除数据,其中源列等于 "Online"
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.reminders/com.reminders.FetchDataActivity}: android.database.sqlite.SQLiteException: no such column: Online (code 1): , while compiling: delete from ReminderTable where source = Online
这是我的代码:
public void deleteOnlineReminders() {
SQLiteDatabase db = this.getReadableDatabase();
db.execSQL("delete from "+ TABLE_REMINDERS + " where " + KEY_SOURCE + " = " + "Online");
}
Or
是不是因为我没有任何数据进入 table 其中列源 = 在线
您必须在字符串连接中使用 'Online'(注意引号)。
正如您从异常中看到的,编译语句在其他方面是错误的,因为您引用的是列,而不是字符串。
您可能还想为参数使用准备好的语句而不是字符串连接:
How do I use prepared statements in SQlite in Android?
这是更干净、更安全的版本:)
public void deleteOnlineReminders() {
SQLiteDatabase db = this.getWritableDatabase();
dbHelper.delete(TABLE_REMINDERS, KEY_SOURCE + "=?", new String[] { Online})
}
试试这个代码。
db.execSQL("delete from "+ TABLE_REMINDERS + " where " + KEY_SOURCE + "=?",new String[] { "Online" });
我正在尝试从 SQLite table 中删除数据,其中源列等于 "Online"
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.reminders/com.reminders.FetchDataActivity}: android.database.sqlite.SQLiteException: no such column: Online (code 1): , while compiling: delete from ReminderTable where source = Online
这是我的代码:
public void deleteOnlineReminders() {
SQLiteDatabase db = this.getReadableDatabase();
db.execSQL("delete from "+ TABLE_REMINDERS + " where " + KEY_SOURCE + " = " + "Online");
}
Or
是不是因为我没有任何数据进入 table 其中列源 = 在线
您必须在字符串连接中使用 'Online'(注意引号)。
正如您从异常中看到的,编译语句在其他方面是错误的,因为您引用的是列,而不是字符串。
您可能还想为参数使用准备好的语句而不是字符串连接: How do I use prepared statements in SQlite in Android?
这是更干净、更安全的版本:)
public void deleteOnlineReminders() {
SQLiteDatabase db = this.getWritableDatabase();
dbHelper.delete(TABLE_REMINDERS, KEY_SOURCE + "=?", new String[] { Online})
}
试试这个代码。
db.execSQL("delete from "+ TABLE_REMINDERS + " where " + KEY_SOURCE + "=?",new String[] { "Online" });