Android sqlite缺少列
我的SQLite数据库缺少一个我知道存在的列。我将无法从Android Emulator中提取数据库,因为在没有大量代码重写的情况下,无法使用Emulator填充数据库 logcat returnsAndroid sqlite缺少列,android,sqlite,Android,Sqlite,我的SQLite数据库缺少一个我知道存在的列。我将无法从Android Emulator中提取数据库,因为在没有大量代码重写的情况下,无法使用Emulator填充数据库 logcat returnssqlite returned:error code=1,msg=table items在向该表添加项时没有名为checkedout的列。下面是表声明,下面是插入函数。我在什么地方拼写checkedout不一致吗 static final String CREATE_ITEM_TABLE ="cre
sqlite returned:error code=1,msg=table items在向该表添加项时没有名为checkedout的列。下面是表声明,下面是插入函数。我在什么地方拼写checkedout不一致吗
static final String CREATE_ITEM_TABLE ="create table if not exists "+CHECKOUT_TABLE+" ("
+ KEY_ROWID + " INTEGER PRIMARY KEY,"
+ KEY_STORE +" TEXT,"
+ KEY_INVID + " TEXT,"
+ KEY_PRODUCT + " TEXT,"
+ KEY_PRICE + " TEXT,"
+ KEY_WEIGHT + " TEXT,"
+ KEY_CATEGORY + " TEXT,"
+ KEY_QUANTITY + " TEXT,"
+ KEY_CHECKEDOUT + "INTEGER"
+ ");";
//store item
public long storeNewItem(String store, String invid, String product,
String price, String weight, String category, String quantity, int checkedout) {
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_STORE, store);
initialValues.put(KEY_INVID, invid);
initialValues.put(KEY_PRODUCT, product);
initialValues.put(KEY_WEIGHT, price);
initialValues.put(KEY_CATEGORY, weight);
initialValues.put(KEY_QUANTITY, quantity);
initialValues.put(KEY_CHECKEDOUT, checkedout); //just in case I want to store these items, but server should know
if(checkedout==0)
{
return sqlDb.insert(CHECKOUT_TABLE, null, initialValues);
}
else //if checkedout==true
{
return sqlDb.insert(PAST_ITEM_TABLE, null, initialValues);
}
}
抱歉,我似乎无法将此作为评论,因此我将其作为回答:
我假设您使用早期版本的程序创建了表,其中没有“checkedout”列。
现在不会重新创建该表,因为在查询中包含“IF not EXISTS”
试着先把桌子移走 抱歉,我似乎无法将此作为评论,因此我将其作为回答:
我假设您使用早期版本的程序创建了表,其中没有“checkedout”列。
现在不会重新创建该表,因为在查询中包含“IF not EXISTS”
试着先把桌子移走 答案是最后一列在声明中没有空格
+按键数量+文本,“
+键\u CHECKEDOUT+“整数”
+ ");";
应该是
+按键数量+文本,“
+键\u CHECKEDOUT+“整数”
+ ");";代码>
叹息答案是最后一列在声明中没有空格
+按键数量+文本,“
+键\u CHECKEDOUT+“整数”
+ ");";
应该是
+按键数量+文本,“
+键\u CHECKEDOUT+“整数”
+ ");";代码>
叹气结账表和过去项目表的定义是否相同?是的。签出表将经常被清除和删除。在DDMS透视图“打开文件资源管理器”选项卡“查找您的数据库”、“打开光盘”中,在达到其他限制之前,“过去的项目”表将增长很多,并且永远不会被清除,并签入例如SQLite Browser数据库结构哪个insert调用产生错误?@Mike在实际设备上数据文件夹不显示任何内容。签出表和过去项目表是否定义相同?是。签出表将经常被清除和删除。在DDMS透视图“打开文件资源管理器”选项卡中找到您的数据库、拖动光盘并签入例如SQLite浏览器数据库结构哪个insert调用会产生错误?@Mike在真实设备上数据文件夹不显示任何内容之前,过去的\u item \u表将增长很多,并且永远不会被清除。