想通过查询自己手机的音乐然后存到数据库,可是最后报错了,是怎么回事呢?

这个是数据表

  /**
     * 表名
     */
    public static final String TBL_NAME = "playlistTbl";
    /**
     * 建表语句
     */
    public static final String CREATE_TBL = "create table" + TBL_NAME + "("
            + "_id int," + "id int," + "songName text," + "songSinger text,"
            + "album text," + "albumId long," + "displayName text,"
            + "duration long," + "size long," + "path text" + ")";

    public AppDBHelp(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }
 E/SQLiteLog: (1) no such table: playlistTbl
12-02 15:35:26.101 9191-9328/? E/SQLiteDatabase: Error inserting id=55484 duration=0 albumId=24 _id=180 album=download songSinger=<unknown> path=/storage/sdcard0/kgmusic/download/张学友 - 沉默的眼睛.ape songName=张学友 - 沉默的眼睛 displayName=张学友 - 沉默的眼睛.ape size=23225879
                                                 android.database.sqlite.SQLiteException: no such table: playlistTbl (code 1): , while compiling: INSERT INTO playlistTbl(id,duration,albumId,_id,album,songSinger,path,songName,displayName,size) VALUES (?,?,?,?,?,?,?,?,?,?)
                                                     at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
                                                     at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882)
                                                     at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493)
                                                     at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
                                                     at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
                                                     at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
                                                     at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1467)
                                                     at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1339)
                                                     at com.jack.musicandchat.db.AppDB.addSongInfo(AppDB.java:63)
                                                     at com.jack.musicandchat.service.ScanService.onHandleIntent(ScanService.java:84)
                                                     at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
                                                     at android.os.Handler.dispatchMessage(Handler.java:99)
                                                     at android.os.Looper.loop(Looper.java:137)
                                                     at android.os.HandlerThread.run(HandlerThread.java:60)
阅读 4.4k
3 个回答

提示你没有playlistTbl这个数据表。

你把_id int删除掉,再创建个新表试试

你是不是建表语句错了,应该在create table 后面有一个空格,但是从你提供的图片来看,你的create table后面是直接跟的playlistTbl 即拼接后为 create tableplaylistTbl ......

推荐问题