[JAVA] [Android] keine solche Tabellenfehlerlösung

keine solche Tabelle Fehlerursache

  1. Instanziieren Sie die Helper-Klasse, die eine Tabelle mit dem Namen a in Main.db erstellt
  2. Erstellen Sie eine Tabelle mit dem Namen b in Main.db (DB mit demselben Namen) mit einer anderen Hilfsklasse
  3. Fall mit SQliteException-Fehler

→ Ich versuche, mit dem Konstruktor der Helper-Klasse eine neue Main.db zum Erstellen der b-Tabelle zu erstellen. Da die Main.db jedoch bereits erstellt wurde, kann sie nicht neu erstellt werden, und onCreate der b-Tabelle wird nicht aufgerufen. Die Tabelle wird nicht erstellt und wird zu keiner solchen Tabelle.

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);
    }

Lösung

  1. Integrieren Sie die Helper-Klasse in eine und schreiben Sie zwei CREATE TABLE-Anweisungen in onCreate.

HogeHelper.java


 public HogeHelper(Context context) {
        super(context, "Main.db", null, 1);
    }
@Override
    public void onCreate(SQLiteDatabase db) {
        //Tabelle erstellen
        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. Ändern Sie den DB-Namen der Helper-Klasse in der Tabelle 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] keine solche Tabellenfehlerlösung
Fehler: Fehlerantwort vom Dämon: Kein solcher Container:
ActiveRecord :: StatementInvalid (SQLite3 :: SQLException: keine solche Tabelle: main.follows ~
[Kein Methodenfehler] Lösung, wenn sie in der neuen Aktion auftritt
Über keinen Methodenfehler
Keine statische Methode getFont Fehler