Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 错误:没有这样的列_Android_Sqlite - Fatal编程技术网

Android 错误:没有这样的列

Android 错误:没有这样的列,android,sqlite,Android,Sqlite,我正在开发一个使用sqlite数据库的android应用程序 主要问题: *我一直面临这个错误,没有这样的专栏,但我就是找不到这个问题的原因。如有任何意见,将不胜感激* 第二期: 我希望应用程序检查用户的信息是否在数据库中。如果它不存在,我想让系统做点什么。如何做检查部分?我试过下面的方法。但我不确定它是否有效,因为并没有这样的专栏文章 String values[] = helper.get_synccontentByEmailID(SettingConstan

我正在开发一个使用sqlite数据库的android应用程序

  • 主要问题: *我一直面临这个错误,没有这样的专栏,但我就是找不到这个问题的原因。如有任何意见,将不胜感激*
  • 第二期: 我希望应用程序检查用户的信息是否在数据库中。如果它不存在,我想让系统做点什么。如何做检查部分?我试过下面的方法。但我不确定它是否有效,因为并没有这样的专栏文章

                    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);");