我在差异文件中创建了2个表(扩展了SQLiteOpenHelper)。他们两个都有相同的数据库名称。当我只有一个表时,它运行良好。但是当我尝试使用它们时。我收到了这个错误
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);
}
第二个表databaseHelper类的实现方式与第一个类相同。我只更改表名和列名。那么,我该怎么办?
答案 0 :(得分:0)
它可能有所不同';' ,我不确定但值得尝试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)");