1. Gewinne jetzt ein UMiDIGI C Note - alle Informationen findest du hier!!
  1. BFK, 17.03.2011 #1
    BFK

    BFK Threadstarter Erfahrener Benutzer

    Hallo Forum,
    ich experementiere grade mit sqlite und Android.
    Bin leider auf ein sehr merkwürdiges prob gestossen. Und zwar habe ich folgendes Query in meiner DB-Klasse..:
    Code:
    public Cursor selectFromCoordinates(String track_name)
        {
            Cursor cr = db.rawQuery("SELECT coordinates.trackID as _id, dateTime, latitude, longitude, height, speed FROM "+
                    "coordinates, tracks WHERE tracks.trackID = coordinates.trackID AND name = ?"
                    , new String[]{track_name});
      
            return cr;        
        }
    
    Mit diesem Querry bekomme ich alle Infos vom Table "coordinates" die ein track_name, der geich X ist. Dieser Querry funktioniert einwandfrei und ich bekomme alle erwatende einträge zurück.

    Jetzt will ich aber checken, ob der Cursor gar keine werte zurückgibt, also in dem fall dass es keine einträge gibt.
    Das mache ich so..:

    Code:
    Db.open();
            Cursor cur = Db.selectFromCoordinates(track_name);
            Db.close();
    
    if(cur.getCount() == 0)
            {
                 // Keine Einträge gefunden
            }
    else
            {
                // ...
            }
    
    
    Leider bekomme ich immer von "cur.getCount()" den Wert 0, egal ob es Einträge gibt oder nicht.
    Wieso..?

    -MFG BFK-
     
  2. maniac103, 17.03.2011 #2
    maniac103

    maniac103 Android-Lexikon

    Schuss ins Blaue, da ich ja nicht weiß, was Db.open() / Db.close() macht: schon mal probiert, Db.close() hinter cur.getCount() zu verschieben?
     
    BFK gefällt das.
  3. BFK, 17.03.2011 #3
    BFK

    BFK Threadstarter Erfahrener Benutzer

    Naja "Db.open();" ist
    Code:
    db = DBHelper.getWritableDatabase();
    
    und "Db.close();"
    Code:
    DBHelper.close();
    
    Und ja du hast recht, war dumm den DBhelper davor zu schliessen.

    So funkt es einwandfrei..!
    Code:
    Db.open();
            Cursor cur = Db.selectFromCoordinates(track_name);
            int curs = cur.getCount();
            Db.close();
            
            
            if(curs == 0){ // keine einträge }
            else{ //.. }
    
    
    Und DANKE dir für deinen schnellen Beitrag..!
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] Existierendes Objekt immer NULL Android App Entwicklung 10.05.2017
[ERLEDIGT] In SQLite DB auf nächsten/vorherigen Datensatz zugreifen Android App Entwicklung 23.03.2017
SQLite asynchron benutzen Android App Entwicklung 26.02.2017
SQLite - Idee 'zentrale Datenbank' theoretisch möglich (und ratsam)? Android App Entwicklung 21.02.2017
SQLite Datenbank. Was ist möglich und was nicht? Android App Entwicklung 15.11.2016
SQLite auslesen und in Tabelle darstellen Android App Entwicklung 12.10.2016
SQLite Datenbank updaten Android App Entwicklung 10.10.2016
Sqlite - Cursor Verständnisfrage Android App Entwicklung 03.09.2016
SQLite Tabelle in app erstellen Android App Entwicklung 01.09.2016
Du betrachtest das Thema "Sqlite DB Query auf null checken..!" im Forum "Android App Entwicklung",