我一直在努力创建一个包含行的列表视图,这些行值显示存储在我的数据库中的信息。我的问题是如何解决出现“列_id 不存在”的错误?我在网上查看过,我发现您应该使用 as 定义列“_id”,但是当我这样做时它就失败了。也许我错过了一些东西,但在尝试了几种不同的方法后,我仍然得到了那个错误。有任何想法吗?
这是定义我的查询的方法:
String sql = "create table " + TABLE + "(" + C_ID + " int primary key, " +
C_WORKOUT_NAME + " text, " + C_CLASSNAME + " text, " + C_CREATED_AT + " text)";
db.execSQL(sql);
这是将数据库值传递到我的行的代码:
@Override
protected void onResume(){
super.onResume();
cursor = db.query(DBHelper1.TABLE, null, null, null, null, null,
DBHelper1.C_CREATED_AT + " DESC");
startManagingCursor(cursor);
adapter = new SimpleCursorAdapter(this, R.layout.row, cursor, FROM, TO);
list.setAdapter(adapter);
}
我也有
static final string C_ID= "_id"
08-10 19:47:52.176: INFO/ActivityManager(67): 开始: Intent {cmp=edu.njit.hss/.History } 来自 pid 440 08-10 19:47:52.596: DEBUG/AndroidRuntime(440):关闭 VM 08-10 19:47:52.596: WARN/dalvikvm(440): threadid=1: thread exiting with unaught exception (group=0x40015560) 08-10 19:47:52.626: ERROR/AndroidRuntime(440): FATAL例外:主要 08-10 19:47:52.626:错误/AndroidRuntime(440):java.lang.RuntimeException:无法恢复活动 {edu.njit.hss/edu.njit.hss.History}:java.lang.IllegalArgumentException :列 '_id' 不存在 08-10 19:47:52.626: 错误/AndroidRuntime(440): 在 android.app.ActivityThread.performResumeActivity(ActivityThread.java:2095) 08-10 19:47:52.626: 错误/ AndroidRuntime(440): 在 android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2110) 08-10 19:47:52.626:错误/AndroidRuntime(440):在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1643)