我试图用一些代码解决昨天为什么会出现此错误的问题:
java.lang.IllegalArgumentException: column '_id' does not exist
我有更多的代码,尤其是我不需要的,所以我去掉了很多代码,以便更容易理解我哪里出错了。但本质上这是我的架构:
database.execSQL("CREATE TABLE events (" +
"_id INTEGER PRIMARY KEY, event_name TEXT" +
")");
可以说,看起来不错。除非我忘记阅读,否则它显然就在那里。但后来我弄清楚了我的错误来自哪里,或者至少我确定这就是原因。检索游标的这段代码:
public Cursor getEventsName() {
return database.rawQuery( "SELECT event_name FROM events", null);
}
根据android,这是错误。当我将其更改为:
public Cursor getEventsName() {
return database.rawQuery( "SELECT * FROM events", null);
}
一切都是桃色的。当前者时,它会崩溃。关于为什么会这样的任何原因。我认为在 rawQuery() 中我可以做到这一点。只要我不包括 where 子句,我就没有。非常感谢任何帮助。