Ich versuche, die Daten in meine Tabelle Tareas einzufügen. Ich benutze einen ORM (GreenDao). Aber wenn meine App ausgeführt wird, zeigt die Log-Katze an, dass keine Tabelle namens Tareas existiert. Ich verstehe das nicht, denn wenn ich meine Datenbank erstellt habe, hat die Tareas-Tabelle eine Spalte namens Tipo.GreenDao- android.database.sqlite.SQLiteException: Tabelle TAREAS hat keine Spalte namens
03-30 07: 51: 29.389 bis 29.389 32,758/tipiwiny.greendao E/Android Runtime: schwerwiegendem EXCEPTION: Hauptprozeß: tipiwiny.greendao, PID: 29389 android.database.sqlite.SQLiteException: Tabelle tareas hat keine Spalte
namens TIPO (Code 1):, beim Kompilieren: INSERT INTO tareas ('_id', 'DURACION', 'TIPO', 'DESCRIPCION', 'USUARIO', 'realizada') VALUES (, ?,?,?,?,?) um android.database.sqlite.SQLiteConnection.nativePrepareStatement (Native Methode) um android.database.sqlite.SQLiteConnection.acquirePreparedStatement (SQLiteConnection.java:889) bei android.database.sqlite.SQLiteConnection.prepare (SQLiteConnection.java:500) bei android.database.sqlite.SQLiteSession.prepare (SQLiteSession.java:588) bei android.database.sqlite.SQLiteProgram. (SQLiteProgram .java-: 58) bei android.database.sqlite.SQLiteStatement (SQLiteStatement.java:31) bei android.database.sqlite.SQLiteDatabase.compileStatement (SQLiteDatabase.java:994) bei de.greenrobot.dao. .internal.TableStatements.getInsertStatement (TableStatements.java:48) bei de.greenrobot.dao.AbstractD ao.insert (AbstractDao.java:293) bei tipiwiny.greendao.CrearTarea.añadirTarea (CrearTarea.java:60) bei tipiwiny.greendao.CrearTarea.access $ 000 (CrearTarea.java:18) bei tipiwiny.greendao.CrearTarea $ 1.onClick (CrearTarea.java:42) bei android.view.View.performClick (View.java:4756) bei android.view.View $ PerformClick.run (View.java:19749) bei android.os. Handler.handleCallback (Handler.java:739) bei android.os.Handler.dispatchMessage (Handler.java:95) bei android.os.Looper.loop (Looper.java:135) bei android.app.ActivityThread. Haupt (ActivityThread.java:5221) bei java.lang.reflect.Method.invoke (native Methode) bei java.lang.reflect.Method.invoke (Methode.java:372) atcom.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit. java: 899) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:694)
Meine Datenbank wird festgelegt, wie:
private static void createDatabase(Schema schema) {
Entity usuario = schema.addEntity("Usuario");
usuario.addIdProperty();
usuario.addStringProperty("nombre").notNull();
usuario.addStringProperty("apellidos").notNull();
usuario.addStringProperty("password").notNull();
usuario.addStringProperty("roll").notNull();
Entity habilidad = schema.addEntity("Habilidad");
habilidad.addIdProperty();
Property usuarioIdProperty = habilidad.addLongProperty("usuarioId").notNull().getProperty();
habilidad.addToOne(usuario, usuarioIdProperty);
habilidad.addIntProperty("tipo").notNull();
Entity tarea=schema.addEntity("Tareas");
tarea.addIdProperty();
tarea.addIntProperty("duracion").notNull();
tarea.addIntProperty("tipo").notNull();
tarea.addStringProperty("descripcion").notNull();
tarea.addStringProperty("usuario");
tarea.addBooleanProperty("realizada");
}
Wenn Sie diesen Code ausführen zu generieren In den Tabellen wird die Klasse TareasDao angelegt und die Methode createTable lautet:
/** Creates the underlying database table. */
public static void createTable(SQLiteDatabase db, boolean ifNotExists) {
String constraint = ifNotExists? "IF NOT EXISTS ": "";
db.execSQL("CREATE TABLE " + constraint + "'TAREAS' (" + //
"'_id' INTEGER PRIMARY KEY ," + // 0: id
"'DURACION' INTEGER NOT NULL ," + // 1: duracion
"'TIPO' INTEGER NOT NULL ," + // 2: tipo
"'DESCRIPCION' TEXT NOT NULL ," + // 3: descripcion
"'USUARIO' TEXT," + // 4: usuario
"'REALIZADA' INTEGER);"); // 5: realizada
}
Dank! Ich habe mein Problem gelöst. Ich habe die App von meinem Telefon entfernt und nachdem ich die Datenbank von Android Device Monitor entfernt habe. Schließlich kehrte ich zurück, um die Datenbank – tipiwiny
zu generieren Bitte teilen Sie Ihre Lösung! Wie hast du das gemacht? –
Entschuldigung, ich habe gerade meinen Kommentar bearbeitet. – tipiwiny