我一直在创建一个包含行的列表视图,这些行值显示存储在我的数据库中的信息。我的问题是如何修复我得到的错误“列_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):从pid 440开始:Intent {cmp = edu.njit.hss / .History} 08-10 19:47:52.596:DEBUG / AndroidRuntime(440):关闭VM 08-10 19:47:52.596:WARN / dalvikvm(440):threadid = 1:线程退出未捕获异常(组= 0x40015560) 08-10 19:47:52.626:ERROR / AndroidRuntime(440):致命异常:主要 08-10 19:47:52.626:ERROR / AndroidRuntime(440):java.lang.RuntimeException:无法恢复活动{edu.njit.hss / edu.njit.hss.History}:java.lang.IllegalArgumentException:column' _id'不存在 08-10 19:47:52.626:ERROR / AndroidRuntime(440):在android.app.ActivityThread.performResumeActivity(ActivityThread.java:2095) 08-10 19:47:52.626:ERROR / AndroidRuntime(440):在android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2110) 08-10 19:47:52.626:ERROR / AndroidRuntime(440):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1643)
答案 0 :(得分:0)
我个人需要更多信息来帮助你。 当它正好给出这个错误? 当您显示的代码中没有对该列的请求时,怎么能说列不存在? (我想这是它的任何其他部分)
作为一个起点,我建议你去看看数据库:
......我们会在这里等待:)