android.database.sqlite.SQLiteException:没有这样的表

时间:2011-07-20 14:52:07

标签: android

ISSUE (LogCat)

  

sqlite返回:错误代码= 1,msg =没有这样的表...

     

android.database.sqlite.SQLiteException:没有这样的表:....

CODE

public void onCreate(SQLiteDatabase db) {
    Log.v("SQLAdapter","onCreate(SQLiteDatabase db)");
    db.execSQL("CREATE TABLE "+tablename
            +" ("
            +col1+ " TEXT PRIMARY KEY , "
            +col2+ " TEXT , "
            +col3+ " TEXT , "
            +col4+ " TEXT , "
            +col5+ " TEXT , "
            +col6+ " TEXT , "
            +col7+ " TEXT , "
            +col8+ " TEXT "
            +")");
    db.execSQL("CREATE TABLE "+configTable
            +" ("
            +colName+ " TEXT PRIMARY KEY , "
            +colValue+ " TEXT "
            +")");

    ContentValues cv=new ContentValues();
    cv.put(colName, "updated");
    cv.put(colValue, "-1");
    db.insert(configTable, colName, cv);
}

RESULT

  

正在创建configTable

     

未创建tablename

5 个答案:

答案 0 :(得分:10)

只需在使用SQliteDatabase实现的数据库类中更改数据库名称

我面临同样的问题,使用相同的技巧。

答案 1 :(得分:1)

在真实设备上进行测试时遇到了同样的异常。在我向数据库添加新表后,我不得不从设备中卸载旧的应用程序版本。只有这样才能再次调用SQLiteOpenHelper子类中的onCreate()方法。

答案 2 :(得分:0)

同样的问题。通过删除使用adb命令

创建的旧xxx.db来解决此问题

adb shell rm /data/data/xxx.db

答案 3 :(得分:0)

“没有这样的表”问题解决了!

当您使用database.db时,Android还会创建另一个名为database(不带扩展名)的文件,其中包含android_metadata表。

最后,我解决了改变 DB_NAME =“mydb” 同 DB_NAME = “mydb.db”

答案 4 :(得分:0)

我也遇到了“没有这样的桌子”的问题。这不是数据库或表格的问题,而是来自您的应用程序。

只是你重新安装了我们的应用程序,一切都应该没问题。