「「そのようなテーブルはありません」というエラーが発生し、それをなくすために可能な限りのことを試みましたが、今はなくなりましたが、混乱しています。これが私の状況です
アプリで作成する必要がある2つのテーブルがあります。テーブルごとに1つのクラスを配置すると、以下のコードのようになります。これに従うと、「Table2」からデータを取得するときに「No such Table」と表示されるため、DATABASE_NAME を他の値 = 「DB2」に変更する必要があります。その後、「Table2」が正常に作成され、データを引き出すことができます。
だから私の質問は、これが2つのテーブルが正常に作成されることを確認する正しい方法ですか? または、テーブルを2つのクラスに分けるべきではありませんか? アドバイスお願いします
public class DB1 extends SQLiteOpenHelper {
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "DB";
// Labels table name
private static final String TABLE_STORE = "Table1";
// Labels Table Columns names
public static final String KEY_1 = "col1";
public RC_StoreTbl(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
// Category table create query
String CREATE_TABLE = "CREATE TABLE " + TABLE_STORE + "("
+KEY_1 + " INTEGER PRIMARY KEY)";
db.execSQL(CREATE_TABLE);
}
}
別のクラス
public class DB2 extends SQLiteOpenHelper {
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "DB";
// Labels table name
private static final String TABLE_STORE = "Table2";
// Labels Table Columns names
public static final String KEY_1 = "col1";
public RC_StoreTbl(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
// Category table create query
String CREATE_TABLE = "CREATE TABLE " + TABLE_STORE + "("
+KEY_1 + " INTEGER PRIMARY KEY)";
db.execSQL(CREATE_TABLE);
}
}