2015-08-15 164 views
0

我正在为android制作应用程序。我需要向数据库中插入一定的值。Android插入不起作用

这是从DatabaseHelper(使用SQLite)的方法:

 public long insertMyAnime(MyList myList) { 
     SQLiteDatabase db = this.getWritableDatabase(); 

     ContentValues values = new ContentValues(); 
     values.put("name", myList.getName()); 
     values.put("description", myList.getDescription()); 
     values.put("episodes", myList.getEpisodes()); 
     values.put("genre", myList.getGenre()); 
     values.put("rating", myList.getRating()); 
     values.put("episodesWatched", myList.getEpisodesWatched()); 
     values.put("stateId", myList.getStateId()); 

     long id = db.insert("myList", null, values); 

     db.close(); 
     return id; 
    } 

而这正是我要插入的部分:

public void addAnime_onClick(View v){ 
    anime = domParser.getAnime(name); 

    MyList myList = new MyList(); 

    myList.setName(anime.getName()); 
    myList.setDescription(anime.getDescription()); 
    myList.setEpisodes(anime.getEpisodes()); 
    myList.setGenre(anime.getGenre()); 
    myList.setEpisodesWatched(0); 
    myList.setStateId(4); 
    myList.setRating(0); 

    db.insertMyAnime(myList); 
} 

而这正是该表如下所示:

  //CREATE TABLE MYANIME 
     String CREATE_TABLE_MYLIST = "CREATE TABLE myList (" + 
       "id INTEGER PRIMARY KEY AUTOINCREMENT," + 
       "name TEXT," + 
       "description TEXT," + 
       "episodes INTEGER," + 
       "genre TEXT," + 
       "rating INTEGER," + 
       "episodesWatched INTEGER," + 
       "stateId INTEGER)"; 
     db.execSQL(CREATE_TABLE_MYLIST); 

从我按下按钮插入时,应用程序崩溃。

你知道这个问题可能是什么吗?你会帮助我这么多...

+0

那么“插入不起作用”对你来说意味着什么? – laalto

+0

正如我所说的,应用程序崩溃,“插入”并不难,所以我不认为答案是遥遥领先的...... – Dominickus

+0

如果发生崩溃,那就是堆栈跟踪。展示下。 –

回答

0

把它放在你的代码中,看看你的LogCat。

try { 
    SQLiteDatabase db = this.getWritableDatabase(); 

    ContentValues values = new ContentValues(); 
    values.put("name", myList.getName()); 
    values.put("description", myList.getDescription()); 
    values.put("episodes", myList.getEpisodes()); 
    values.put("genre", myList.getGenre()); 
    values.put("rating", myList.getRating()); 
    values.put("episodesWatched", myList.getEpisodesWatched()); 
    values.put("stateId", myList.getStateId()); 

    long id = db.insert("myList", null, values); 

    db.close(); 
    return id;   
} catch (SQLiteException e) { 
    Log.e(TAG, "insert()", e); 
}