我正在开发一个Android应用程序,这是我第一次使用SQLite。
public static final String KEY_NAME="name";
public static final String KEY_TIME="time";
public static final String KEY_NUM="num";
public static final String KEY_PRICE="price";
private static final String DB_CREATE = "CREATE TABLE " + DB_TABLENAME + " ("
+ KEY_ID + " INTEGER PRIMARY KEY,"
+ KEY_NUM+" INTERGER,"
+ KEY_PRICE + " REAL,"
+ KEY_NAME + "TEXT,"
+ KEY_TIME +"TEXT)";
public Cursor fetchAllData(){
return yueDb.query(DB_TABLENAME, new String[]{KEY_ID,KEY_NUM,KEY_PRICE,KEY_NAME,KEY_TIME},null,null,null,null,null);
}
代码在调用fetchAllData()
时抛出错误。 Eclipse在LogCat窗口中告诉我:
sqlite返回:错误代码= 1,msg =没有这样的列:名称
我知道问题是关于这个功能,但我真的找不到我的代码错误的地方。如果你得到它,请教我!
答案 0 :(得分:2)
你错过了NAME和TEXT之间的空格! ;)
这应解决问题:
private static final String DB_CREATE = "CREATE TABLE " + DB_TABLENAME + " ("
+ KEY_ID + " INTEGER PRIMARY KEY, "
+ KEY_NUM+" INTEGER, "
+ KEY_PRICE + " REAL, "
+ KEY_NAME + " TEXT, "
+ KEY_TIME +" TEXT)";