Über Schleife Datensätze aus Datenbank in eine ListView, nur wie?

  • Hallo!
    Ich hoffe mir kann jemand helfen... bin gerade fast am verzweifeln.
    Ich habe eine Datenbank die hat unter anderem das Feld Monat.
    Die möchte ich alle auslesen und in einer ListView ausgeben, was aber bei mir überhaupt nicht klappt.


    Mein code sieht im Moment so aus:



    Als Fehler bekomme ich:

    Code
    Bad request for field slot 1,1. numRows = 24, numColumns = 1


    Es gibt also 24 Datensätze... aber warum der Fehler?
    Mach ich etwas mit dem Cursor falsch?


    Gruß
    Kodak

  • Hallo,
    wenn du den Monat haben willst, dann musst du die SQLite-Query ändern.
    Jetzt haste

    Java
    Cursor c = myDB.rawQuery("SELECT jahr FROM " +             MY_DB_TABLE, null);


    und sollte

    Java
    Cursor c = myDB.rawQuery("SELECT monat FROM " + MY_DB_TABLE, null);


    heißen.

  • Hab den Fehler gefunden.
    Der Fehler war nicht das SQL Statement (obwohl monat natürlich richtig ist).
    Man muss aber bei der DB immer auch die Spalte _id mit auslesen.




    Jetzt aber noch eine Frage:
    In meiner Liste steht jetzt:
    1
    2
    3
    4
    5
    ...usw für die monate.
    Ich will aber dass statt 1 Januar angezeigt wird... wie kann ich das am besten machen?
    Hab da schon ein paar Ansätze probiert... aber ohne Erfolg.

  • ich würd nen final Array machen mit 12 Einträgen (Januar-Dezember) und dann ((TextView)view).setText(array[ColMonat]) benutzen. Man müsste natürlich beachten dass wenn Januar in deiner DB die Nr 1 ist, das dann noch minus 1 zu rechnen, da es sonst mit dem Array nicht mehr übereinstimmt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!