2
我正在为我的大学做最后的项目,并且出现一个奇怪的错误。 在Eclipse中,它说一切正常,但是当我试图访问此功能在数据库适配器程序崩溃时运行该程序:公共光标getAll错误Android
但如果相反,我只是把这样的程序正常运行:
public Cursor getAllProjectsCursor() {
return db.query(DATABASE_TABLE,
new String[] {
KEY_ID,
KEY_PROJ_NAME
},
null,
null,
null,
null,
null);
}
我想通过所有列值,我认为所有的建筑物都很好。所有栏目都是一样的。
你能帮我吗?
在调试它说:
INFO/Database(677): sqlite returned: error code = 1, msg = no such column: beg_date
在我的代码有:
public class PMDBAdapter {
private static final String DATABASE_NAME = "PocketManager.db";
private static final String DATABASE_TABLE = "Projects";
private static final int DATABASE_VERSION = 1;
private SQLiteDatabase db;
public static final String KEY_ID = "_id";
public static final String KEY_PROJ_NAME = "proj_name";
public static final int PROJ_NAME_COLUMN = 2;
public static final String KEY_AREA = "proj_area";
public static final int AREA_COLUMN = 3;
public static final String KEY_BEG_DATE = "beg_date";
public static final int BEG_DATE_COLUMN = 4;
public static final String KEY_END_DATE = "end_date";
public static final int END_DATE_COLUMN = 5;
public static final String KEY_PERC = "perc";
public static final int PERC_COLUMN = 6;
private final Context context;
private ProjDBOpenHelper dbHelper;
和:
private static final String DATABASE_CREATE = "create table " +
DATABASE_TABLE + " (" + KEY_ID + " integer primary key autoincrement, "
+ KEY_PROJ_NAME + " text not null, "
+ KEY_AREA + "text not null, "
+ KEY_BEG_DATE + "long, "
+ KEY_END_DATE + "long, "
+ KEY_PERC + " integer);";
您能否在崩溃期间提供错误的`logcat`输出? – 2011-02-02 14:35:06
另外,在你崩溃的那部分代码中,是否在`KEY_PROJ_NAME`和`KEY_BEG_DATE`之间缺少一个逗号? – 2011-02-02 14:36:19
“`long”之前没有空格,``KEY_BEG_DATE`和`KEY_END_DATE`没有空格。 将这些字符串更改为`“long”,因为现在这些列的名称是“beg_datelong”和“end_datelong”。 'KEY_AREA`也似乎是这种情况,在``text not null'之前放置一个空格“,对于那个呢! – 2011-02-02 15:33:36