Android Studio - SQLite DB nach bestimmten wert suchen und ausgeben

  • Antworten:5
  • Bentwortet
Stefan Vetrò
  • Forum-Beiträge: 8

10.01.2018, 13:20:52 via Website

Hiho Stefan hier,

Ich habe eine App erstellt und eine SQLite DB in meinem Projekt.
Ich kann alle Daten in meiner DB ausgeben und anzeigen lassen.
Allerding möchte ich jetzt nur die Daten anzeigen lassen nach dennen ich Suche.

In der MainActivity gebe ich einen Wert der nächsten Aktivity mit, nun sollte in der ListView auch nur diese Daten angezeigt werden die meiner suche entsprechen

Habe folgendes programmiert aber leider stürzt mir die App dan ab

 public List<HealthMemo> getSearchHealthMemos(String suche) {
    List<HealthMemo> appMemoList = new ArrayList<>();

    Cursor cursor = database.query(HealthMemoDbHelper.TABLE_HEALTH_LIST,
            columns, HealthMemoDbHelper.COLUMN_NACHNAME + "=" + suche,
            null, null, null, null);

    cursor.moveToFirst();
    HealthMemo appMemo;

    while(!cursor.isAfterLast()) {
        appMemo = cursorToAppMemo(cursor);
        appMemoList.add(appMemo);
        Log.d(LOG_TAG, "ID: " + appMemo.getId() + ", Inhalt: " + appMemo.toString());
        cursor.moveToNext();
    }

    cursor.close();

    return appMemoList;
}

Ich glaube der fehler liegt der Zeile 3 meines Codes in dem ich die Spalte Nachnamen nach dem Wert suche

Beste Grüße

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

10.01.2018, 14:25:51 via Website

Hallo Stefan,
herzlih wilkommen hier im Forum :)


Du hast bisher noch nicht mit Datenbanken gearbeitet oder?

Vielleicht solltest du das erstmal auf SQL ebene machen, bevor du den Java Cursor benutzt:

C

ursor cursor = database.query(HealthMemoDbHelper.TABLE_HEALTH_LIST,
            columns, HealthMemoDbHelper.COLUMN_NACHNAME + "=" + suche,
            null, null, null, null);

Wäre das Äquivalent:
Select * from HealthList where Nachname = 'MeinName'

somit fehlen in deiner Where-Clause die Hochkomma:

Cursor cursor = database.query(HealthMemoDbHelper.TABLE_HEALTH_LIST,
            columns, HealthMemoDbHelper.COLUMN_NACHNAME + "='" + suche + "'",
            null, null, null, null);

Was ist denn deine LogCat ausgabe?

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Stefan Vetrò
  • Forum-Beiträge: 8

10.01.2018, 16:48:29 via Website

Hiho also die App beendet sich jetzt nicht mehr von selber dein Code funktioniert leider wird mir nichts angezeigt.
Hier Log eintrag, nachdem ich etwas übergeben habe und die neue Acticity startet

01-10 16:50:37.631 25084-25084/de.programmierenlernenhq.health I/Timeline: Timeline: Activity_launch_request id:de.programmierenlernenhq.health time:51465459
01-10 16:50:37.731 25084-25084/de.programmierenlernenhq.health D/HealtMemoDataSource: Unsere DataSource erzeugt jetzt den dbHelper.
01-10 16:50:37.731 25084-25084/de.programmierenlernenhq.health D/HealthMemoDbHelper: DbHelper hat die Datenbank: app_list.db erzeugt.
01-10 16:50:37.731 25084-25084/de.programmierenlernenhq.health D/HealtMemoDataSource: Eine Referenz auf die Datenbank wird jetzt angefragt.
01-10 16:50:37.735 25084-25084/de.programmierenlernenhq.health D/HealtMemoDataSource: Datenbank-Referenz erhalten. Pfad zur Datenbank: /data/data/de.programmierenlernenhq.health/databases/app_list.db
01-10 16:50:37.953 25084-25211/de.programmierenlernenhq.health D/OpenGLRenderer: endAllStagingAnimators on 0xb76364f8 (RippleDrawable) with handle 0xb76e1530
01-10 16:50:37.961 25084-25084/de.programmierenlernenhq.health I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@21a8ce8c time:51465789

— geändert am 10.01.2018, 16:51:13

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

10.01.2018, 16:53:36 via App

Hmm sind in deiner DB daten drin?

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Stefan Vetrò
  • Forum-Beiträge: 8

10.01.2018, 16:54:30 via Website

Sorry passt hat geklappt alles einwandfrei danke für die schnelle Antwort muss man diesen Beitrag schließen? Wenn ich nochmal Fragen zum gleichen Projekt habe hier rein oder neuen Beitrag eröffnen?

Danke nochmal :)

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

10.01.2018, 17:03:24 via App

Hallo Stefan!
Wenn deine Frage geklärt ist, setze doch bitte noch deinen Thread auf "Beantwortet"!

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten