如何解决SQLiteException:2表数据库没有这样的表?
问题描述:
我在差异文件中创建2个表(扩展SQLiteOpenHelper)。他们都有相同的数据库名称。当我只有一张桌子时,它工作得很好。但是当我尝试使用他们两个。我得到这个错误如何解决SQLiteException:2表数据库没有这样的表?
了java.lang.RuntimeException:无法启动活动
android.database.sqlite.SQLiteException:没有这样的表:wish_table(代码1):在编译:SELECT * FROM wish_table
这是我的第一台databaseHelper类
public class Wishlist_DBHelper extends SQLiteOpenHelper {
private SQLiteDatabase sqLiteDatabase;
public Wishlist_DBHelper(Context context) {
super(context, WishList.DATABASE_NAME, null, WishList.DATABASE_VERSION);
}
// Wishlist
public static final String TABLE_WISHLIST = "wish_table";
public static final String WISHLIST_ID = "_id";
public static final String WISHLIST_GOAL = "goal";
public static final String WISHLIST_TARGET= "target";
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_WISHLIST_TABLE = "create table "
+ TABLE_WISHLIST + "("
+ WISHLIST_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ WISHLIST_GOAL + " TEXT NOT NULL,"
+ WISHLIST_TARGET + " TEXT NOT NULL);";
// create table
db.execSQL(CREATE_WISHLIST_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + wish_table);
onCreate(db);
}
第2台databaseHelper类的实现方式为一日一相同的部分。我只更改表名和列名。所以我该怎么做?
答
它可能不同';' ,我不知道但值得去尝试db.execSQL("CREATE TABLE IF NOT EXISTS " + TABLE_WISHLIST + " (" + WISHLIST_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + WISHLIST_GOAL + " TEXT NOT NULL," + WISHLIST_TARGET + " TEXT NOT NULL)");
你能更明确吗?就像你为什么要访问每一个旁边的作品,但访问他们都行不通。我真的不明白你做了什么导致你这样做。 – 2014-09-27 19:46:50
为什么你不用另一个查询在onCreate中创建第二个表本身。 – Chitrang 2014-09-27 21:13:30
什么行导致SQLiteException?它何时执行? – 2014-09-28 00:21:27