1. Nimm jetzt an unserem AGM - Gewinnspiel teil - Informationen zum M1, A2 und A8 findest Du hier, hier und hier!
  1. Reaper14, 24.02.2012 #1
    Reaper14

    Reaper14 Threadstarter Neuer Benutzer

    Hallo,
    ich hab ein Problem.Ich will in eine Datenbank Werte einfügen.
    Mein Quellcode ist:
    Code:
    MeineDB = this.openOrCreateDatabase(DB_NAME, MODE_PRIVATE, null);
            System.out.println("DB geöffnet und verbunden");
            MeineDB.execSQL("CREATE TABLE IF NOT EXISTS " +DB_TABLE + " (_id integer primary key autoincrement,name varchar(20),passworthash varchar(20),rechte varchar(10),root varchar(255),lastseen varchar(30) )" +";");
            
    MeineDB.rawQuery("INSERT INTO User(name,passworthash,rechte,root,lastseen) VALUES('hansjj','dsdd','keine','fff','dfgdgf');", null);
       
    MeineDB.rawQuery("INSERT INTO User(name,passworthash,rechte,root,lastseen) VALUES('hanhjjksjj','dshkjdd','keinhjkhjke','ffhjkhkjf','dfgdgf');", null);
    
    
    
    Natürlich wurden die Konstanten auch gesetzt.
    Wenn ich jetzt versuche die Datenbank zu lesen steht,nichts drin.
    Auch wenn ich die Datenbank mit dem Rootexplorer runterlade sehe ich das die Datenbank,Tabelen und die Spalten erstellt wurden aber sie keine Werte enthalten.
    Was mache ich falsch? Kann mir jemand helfen? Oder braucht ihr mehr angeben? Wenn ja welche?
     
  2. swordi, 24.02.2012 #2
    swordi

    swordi Gewerbliches Mitglied

    wenn beim insert etwas schief geht, steht eine begründung im logcat - das hilft dir sicher weiter
     
  3. Reaper14, 24.02.2012 #3
    Reaper14

    Reaper14 Threadstarter Neuer Benutzer

    Ok das Logcat zeigt mir leider nichts an. Also keine Ausgabe zu den Datenbanken.Kann ich sonst wie überprüfen ob die Daten vorhanden sind?
    Ich lese die Daten so:
    Code:
     System.out.println(myCursor.getString(myCursor.getColumnIndex("name")));
    
    Da zeigt mir das Logcat aber das an:
    Code:
    02-24 20:03:31.604: E/AndroidRuntime(8190): FATAL EXCEPTION: main
    02-24 20:03:31.604: E/AndroidRuntime(8190): android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 0
    02-24 20:03:31.604: E/AndroidRuntime(8190):     at android.database.AbstractCursor.checkPosition(AbstractCursor.java:580)
    02-24 20:03:31.604: E/AndroidRuntime(8190):     at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:214)
    02-24 20:03:31.604: E/AndroidRuntime(8190):     at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:41)
    
    Und wie schon gesagt die Datei selber ist halt auch leer.
     
  4. swordi, 24.02.2012 #4
    swordi

    swordi Gewerbliches Mitglied

    Machst du Cursor.movetofirst() ???

    Logcat sagt dir ja dass was net passt. Lies genauer

    Gesendet mit der Android-Hilfe.de-App
     
  5. Reaper14, 25.02.2012 #5
    Reaper14

    Reaper14 Threadstarter Neuer Benutzer

    Nein,aber wenn ich es mit rein nehme passt es trotzdem nicht.Es sagt dann das selbe nur das halt nicht -1 angefordert wird sonder 0. Aber die größe(size) ist ja trotzdem 0.
     
  6. swordi, 25.02.2012 #6
    swordi

    swordi Gewerbliches Mitglied

    naja wie liest du die daten dann ?

    die size scheint ja 0 zu sein bei den spalten im cursor

    myCursor.getColumnIndex("name") gibt dir ja den spalten index zurück
    -1 wenn die spalte nicht vorhanden ist.

    0 ist die erste spalte.
     

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. sqlite insert funktioniert nicht