[JAVA] [Android] aucune solution d'erreur de table de ce type

pas de tel tableau Cause de l'erreur

  1. Instanciez la classe Helper qui crée une table appelée a dans Main.db
  2. Créez une table appelée b dans Main.db (DB avec le même nom) avec une autre classe d'assistance
  3. Chute avec erreur SQliteException

→ J'essaie de créer un nouveau Main.db avec le constructeur de la classe Helper pour créer la table b, mais comme Main.db a déjà été créé, il ne peut pas être nouvellement créé et onCreate de la table b n'est pas appelé. , La table n'est pas créée et ne devient plus une telle table.

A_helper.java


public A_Helper(Context context) {
        super(context, "Main.db", null, 1);
    }

B_helper.java



 public B_Helper(Context context) {
        super(context, "Main.db", null, 1);
    }

Solution

  1. Intégrez la classe Helper en une seule et écrivez deux instructions CREATE TABLE dans onCreate.

HogeHelper.java


 public HogeHelper(Context context) {
        super(context, "Main.db", null, 1);
    }
@Override
    public void onCreate(SQLiteDatabase db) {
        //Créer une table
        db.execSQL("CREATE TABLE " + A_TABLE_NAME +
                " (" + COLUMN_USER_ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
                + COLUMN_USER_NAME + " TEXT , "
                + COLUMN_USER_PASSWORD + " TEXT " + ");");

        db.execSQL("CREATE TABLE " + B_TABLE_NAME +
                " (" + COLUMN_BOOK_ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
                + COLUMN_BOOK_TITLE + " TEXT , "
                + COLUMN_BOOK_IMAGE + " TEXT , "
                + COLUMN_BOOK_REVIEW + " TEXT " + ");");
    }
  1. Modifiez le nom de base de données de la classe Helper dans la table b.

A_helper.java


public A_Helper(Context context) {
        super(context, "Main.db", null, 1);
    }

B_helper.java



 public B_Helper(Context context) {
        super(context, "Sub.db", null, 1);
    }

Recommended Posts

[Android] aucune solution d'erreur de table de ce type
[Payjp] Payjp :: InvalidRequestError Aucune solution de jeton de ce type
Erreur: réponse d'erreur du démon: aucun conteneur de ce type:
ActiveRecord :: StatementInvalid (SQLite3 :: SQLException: aucune table de ce type: main.follows ~
[Aucune erreur de méthode] Solution lorsqu'elle se produit dans la nouvelle action
À propos de Aucune erreur de méthode
Aucune erreur de méthode statique getFont