Android 错误:没有这样的列
我正在开发一个使用sqlite数据库的android应用程序Android 错误:没有这样的列,android,sqlite,Android,Sqlite,我正在开发一个使用sqlite数据库的android应用程序 主要问题: *我一直面临这个错误,没有这样的专栏,但我就是找不到这个问题的原因。如有任何意见,将不胜感激* 第二期: 我希望应用程序检查用户的信息是否在数据库中。如果它不存在,我想让系统做点什么。如何做检查部分?我试过下面的方法。但我不确定它是否有效,因为并没有这样的专栏文章 String values[] = helper.get_synccontentByEmailID(SettingConstan
String values[] = helper.get_synccontentByEmailID(SettingConstant.EMAIL);
if(!(values[0] == null)){
}
主要问题
可能您首先创建了没有contentId的表。然后添加了新列contentId。但表不会重新创建。若要重新创建表和数据库,请卸载应用程序,然后重新安装
Secondary Issue
你可以这样做
Cursor c = myDB.rawQuery("SELECT * from synccontent where emailid_sync='"+emailid_sync+"' ", null);
if(c.getCount()==0){ //not in db
}
emailid\u sync TEXT
后缺少逗号
db.execSQL("CREATE TABLE synccontent (" +
"tableid INTEGER PRIMARY KEY AUTOINCREMENT, " +
"emailid_sync TEXT, " +
"contentid TEXT," +
"contentpath TEXT," +
"filesize TEXT," +
"createdtime TEXT,"+
"createdate TIMESTAMP default current_timestamp);");
这将解决主要问题,第二个问题的解决方案在另一个答案中给出。我觉得没问题。我尝试卸载并重新安装该应用程序,但仍然存在同样的问题。我只是不知道这里出了什么问题。请使用sqlite浏览器查看您的表结构。我稍后将尝试您提供的第二个问题的解决方案。谢谢你的回答!在主要活动中是否有其他类似的方法来处理此问题?我正在尝试,如果它不在db中,它将在主活动中执行某些任务。您可以编写一个方法来检查它。在主活动中调用该方法并相应地执行。嘿,谢谢Binoy Babu!没有注意到有一个丢失的逗号导致了所有这些。我真是太粗心了。是的,这是一个很常见的错误。
Cursor c = myDB.rawQuery("SELECT * from synccontent where emailid_sync='"+emailid_sync+"' ", null);
if(c.getCount()==0){ //not in db
}
db.execSQL("CREATE TABLE synccontent (" +
"tableid INTEGER PRIMARY KEY AUTOINCREMENT, " +
"emailid_sync TEXT, " +
"contentid TEXT," +
"contentpath TEXT," +
"filesize TEXT," +
"createdtime TEXT,"+
"createdate TIMESTAMP default current_timestamp);");