/ / 02-19 16: 46: 01.677: E / AndroidRuntime (13159): android.database.sqlite.SQLiteException: keine solche Tabelle: Notizen - Android, Eclipse, SQLite, Logcat

02-19 16: 46: 01.677: E / AndroidRuntime (13159): android.database.sqlite.SQLiteException: keine solche Tabelle: Notizen - Android, Eclipse, SQLite, Logcat

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: INSERT INTO Notizen (Benutzer, Text) VALUES ("John", "Testingvalue")

Aber ich habe den Tisch kreiert! Ich habe zwei Tabellen in der Datenbank ("Benutzer" und "Notizen"), ich greife auf die gleiche Weise, 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 tun? Vielen Dank.

Antworten:

0 für die Antwort № 1

Versuche, dich zu ändern int version und lege das in deine onUpgrade überschreibbare Methode:

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

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

0 für die Antwort № 2

Was kannst du tun? Lernen Sie, auf Android zu debuggen. Lesen Sie das Material unter dieser Link. Erfahren Sie, wie Sie den DDMS-Datei-Explorer verwendenDatenbanken aus einem Emulator holen. Holen Sie sich ein Werkzeug wie SQLite Manager (Firefox), um diese Datenbanken zu betrachten - es hat mir enorm geholfen. Sie können SQLite Manager auch verwenden, um SQL-Anweisungen auf Ihrer Datenbank auszuführen, so dass Sie SQL und Tests gleichzeitig erstellen können.