02-19 16: 46: 01.677: E/AndroidRuntime (13159): Android.database.sqlite.sqliteException: Keine solche Tabelle: Notizen: Notizen

StackOverflow https://stackoverflow.com/questions/9350686

Frage

Ich habe diesen Fehler, wenn ich versuche, auf eine Tabelle zuzugreifen:

02-19 16: 46: 01.677: E/AndroidRuntime (13159): Android.database.sqlite.sqliteException: Keine solche Tabelle: Notizen: In Notizen einfügen (Benutzer, Text) Werte ('John', 'testingValue')

Aber ich habe den Tisch erstellt! Ich habe zwei Tabellen in der Datenbank ("Benutzer" und "Notizen"), ich greife auf sie auf die gleiche Weise zu, aber wenn ich versuche, einen Wert in die Tabelle 'Notizen' einzufügen, habe ich diesen Fehler.

Das ist der Code:

package com.loopr;

import android.content.Context; 
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class SQL extends SQLiteOpenHelper {

    String createUserTable = "CREATE TABLE users (name TEXT)";
    String createNotesTable = "CREATE TABLE notes (user TEXT, text TEXT)";

    public SQL(Context context, String name, CursorFactory factory, int version) {
        super(context, name, factory, version);
        // TODO Auto-generated constructor stub
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(createNotesTable);
        db.execSQL(createUserTable);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int before, int after) {
        //Nothing at the moment
    }

}

Was kann ich machen? Vielen Dank.

War es hilfreich?

Lösung

Versuchen Sie zu wechseln int version und stecken Sie dies in Ihre onUpgrade überschriebene Methode:

// Drop the old table.
db.execSQL("DROP TABLE IF EXISTS notes");

// Create a new one.
onCreate(db);

Andere Tipps

Was kannst du tun? Lernen Sie, auf Android zu debuggen. Lesen Sie das Material bei dieser Link. Finden Sie heraus, wie Sie den Datei -Explorer von DDMS verwenden, um Datenbanken aus einem Emulator zu ziehen. Holen Sie sich ein Tool wie SQLite Manager (Firefox), um sich diese Datenbanken anzusehen - es hat mir enorm geholfen. Außerdem können Sie SQLite Manager verwenden, um RAW -SQL -Anweisungen auf Ihrem DB durchzuführen, sodass Sie gleichzeitig SQL erstellen und testen können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top