Android 公共游标getAll错误
我正在为我的大学做最后一个项目,我遇到了一个奇怪的错误。 在Eclipse中,它表示一切正常,但当我在数据库适配器中尝试访问此函数时运行程序时,程序崩溃:Android 公共游标getAll错误,android,Android,我正在为我的大学做最后一个项目,我遇到了一个奇怪的错误。 在Eclipse中,它表示一切正常,但当我在数据库适配器中尝试访问此函数时运行程序时,程序崩溃: public Cursor getAllProjectsCursor() { return db.query(DATABASE_TABLE, new String[] { KEY_ID,
public Cursor getAllProjectsCursor() {
return db.query(DATABASE_TABLE,
new String[] {
KEY_ID,
KEY_PROJ_NAME,
KEY_BEG_DATE
},
null,
null,
null,
null,
null);
}
但如果我只是这样写,程序会正常运行:
public Cursor getAllProjectsCursor() {
return db.query(DATABASE_TABLE,
new String[] {
KEY_ID,
KEY_PROJ_NAME
},
null,
null,
null,
null,
null);
}
我想传递所有列的值,我认为所有的建筑都很好。所有列都是一样的
你能帮我吗
在debug中,它表示:
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;
以及:
改变
到
Eclipse通常不会发现数据库查询字符串中的错误。在崩溃期间,您能提供错误的
logcat
输出吗?另外,在崩溃部分的KEY\u PROJ\u NAME
和KEY\u BEG\u DATE
之间是否缺少逗号?在long之前没有空格
用于按键日期
和按键结束日期
。将这些字符串更改为“long”,
,因为现在这些列的命名方式是“beg\u datelong”
和“end\u datelong”
。键区域也似乎是这样的,在前面加一个空格“text not null”
表示该区域!你不讨厌在这里点击Enter
在你准备好之前发送评论>是的,这是真实的xD我发布了答案的其余部分这是一个奇怪的错误我很害怕我只是想完成这个xD你能解释一下这段代码是如何回答这个问题的吗?
public Cursor getAllDataDays() {
SQLiteDatabase db = this.getWritableDatabase();
String selectQuery = "SELECT * FROM " + TABLE_MYBUDGETWITHDAYS;
return db.rawQuery(selectQuery, null);
}
return db.query(DATABASE_TABLE, new String[] {
KEY_ID,
KEY_PROJ_NAME
KEY_BEG_DATE},
null,
null,
null,
null,
null);
}
return db.query(DATABASE_TABLE, new String[] {
KEY_ID,
KEY_PROJ_NAME,
KEY_BEG_DATE},
null,
null,
null,
null,
null);
}
public Cursor getAllDataDays() {
SQLiteDatabase db = this.getWritableDatabase();
String selectQuery = "SELECT * FROM " + TABLE_MYBUDGETWITHDAYS;
return db.rawQuery(selectQuery, null);
}