android - Table not found issue in SQLite -


i have written code information json file related specific youtube video , stores information need in database.

the parsing json file has no problem. when trying insert values in database error message appears telling me no such table exists.

here stack-trace:

 07-31 08:42:22.451: i/database(365): sqlite returned: error code = 1,    msg = no such table: youtube_videos 07-31 08:42:22.471: e/database(365):     error inserting video_commentcount=70 video_countview=50 video_name=badly     drawn boy - disillusion (directed garth jennings)     video_url=https://www.youtube.com/watch?v=b11msns6wpu&feature=youtube_gdata_player     video_likes=60 video_img=https://i1.ytimg.com/vi/b11msns6wpu/default.jpg    video_descrption=my new playlist description 07-31 08:42:22.471:     e/database(365): android.database.sqlite.sqliteexception:    no such table: youtube_videos: ,     while compiling: insert youtube_videos(video_commentcount, video_countview,    video_name, video_url,video_likes, video_img, video_descrption) values(?, ?, ?, ?, ?, ?, ?);    07-31 08:42:22.471: e/database(365): @ android.database.sqlite.sqlitecompiledsql.native_compile(native method) 

and here database code:

package com.example.tstnetconnwithjson.db;  import android.content.context; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqlitedatabase.cursorfactory; import android.database.sqlite.sqliteopenhelper; import android.util.log;  public class youtube_db extends sqliteopenhelper {       public static final string database_name="youtube_database";     private static final  int database_version=1;     private static final  string database_table="youtube_videos";     public static final string[] cols_list={"video_name","video_descrption","video_img","video_url","video_countview","video_likes","video_commentcount"};      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////     //end of declaring attributes , tables conents     public youtube_db(context context) {         super(context,database_name, null, database_version);         // todo auto-generated constructor stub     }      @override     public void oncreate(sqlitedatabase db) {         // todo auto-generated method stub         db.execsql(             "create table" + database_name + "(" + cols_list[0] +" text not null , "+ cols_list[1]                 +" text not null , "+ cols_list[2]+" text not null , "+cols_list[3]+" text not null , "+cols_list[4]+" integer , "+cols_list[5]                 +" integer , "+cols_list[6]+" integer ) ");                    }      @override     public void onupgrade(sqlitedatabase db, int oldversion, int newversion) {         // todo auto-generated method stub         log.i("in upgrade", "ok");      }  } 

and here function insert information in database:

package com.example.tstnetconnwithjson.db;  import com.example.tstnetconnwithjson.tables.videos;  import android.content.contentvalues; import android.content.context; import android.database.sqlite.sqlitedatabase; import android.util.log;  public class youtubedatabasemanager {      sqlitedatabase sql_db;     youtube_db my_database;       public youtubedatabasemanager(context c){          my_database=new youtube_db(c);         sql_db= my_database.getwritabledatabase();      }//end of costructor      public long insert_youtube_info( videos video){         contentvalues contentvalues = new contentvalues();           contentvalues.put(youtube_db.cols_list[0], video.getvideoname());         contentvalues.put(youtube_db.cols_list[1], video.getdecscrption());         contentvalues.put(youtube_db.cols_list[2], video.getimageurl());         contentvalues.put(youtube_db.cols_list[3], video.getvediourl());         contentvalues.put(youtube_db.cols_list[4], "50");         contentvalues.put(youtube_db.cols_list[5], "60");         contentvalues.put(youtube_db.cols_list[6], "70");          long addresult ;         addresult= sql_db.insert(youtube_db.database_table, null, contentvalues);            if(addresult==-1)         {             log.i("add video", "add error....  ");          }         else         {             log.i("add video", "add:ok....  ");         }         return  addresult;        } 

can tell me problem?

"create table" + database_name + "("  

you missing space between name , <create table> keyword. have change to:

"create table " + database_table + "(" 

otherwise, ddl statement won't work.

later, try , reference table called "youtube_videos", doesn't exist. because never created it. it's typo.


Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

css - Firefox for ubuntu renders wrong colors -