Fiete
- Forum-Beiträge: 25
14.02.2013, 09:15:04 via Website
14.02.2013 09:15:04 via Website
Guten Morgen.
Ich hab eine App geschrieben (API10). Wobei einige Daten aus eine Datenbank in eine SQLite-DB aufs Handy kopiert werden, nun möchte ich diese DB bsz. einzelne Spalten von ihr, via einem editView durchsuchen.
Hier mein ansatz:
klappt auch, was ja schon mal gut ist.
Es klappt jedoch nur für ein Schlagwort, ist ja klar da genau das zwischen den %%-Zeichen gesucht wird.
Suche ich jetzt zB. %Joomla%, liefert er mir alles zu diesem Schlagwort.
möchte ich jetzt jedoch %Joomla 1.5% suchen, findet er zB. Joomla Version 1.5 nicht, da das Ausrufezeichen von Suchstring abweicht.
Nun meine Frage, könnt ihr mir einen kleinen Denkanstoß geben, wie ich mein Problem lösen kann? Ich möchte eine Suche die dann wirklich alle Wörter mit der DB abgleicht und auflistet.
Danke im Voraus.
Ich hab eine App geschrieben (API10). Wobei einige Daten aus eine Datenbank in eine SQLite-DB aufs Handy kopiert werden, nun möchte ich diese DB bsz. einzelne Spalten von ihr, via einem editView durchsuchen.
Hier mein ansatz:
1DB_Manager mHelper= new DB_Manager(this);
2 mDatenbank = mHelper.getWritableDatabase();
3
4 Cursor data = mDatenbank.rawQuery("SELECT _ID as _id, CATEGORY, NAME, DESCRIPTION " +
5 "FROM tutorial " +
6 "where NAME like '%"+search_result+
7 "%' OR CATEGORY like '%"+search_result+
8 "%' OR DESCRIPTION like '%"+search_result+
9 "%'",
10 null);
11
12 startManagingCursor(data);
13
14 ListAdapter dataList = new SimpleCursorAdapter
15 (
16 this,
17 R.layout.list_element_name,
18 data,
19 new String[] {"NAME"}, //Welche Felder zur Anzeige gebracht werden
20 new int[] {R.id.label}
21 );
22 this.setListAdapter(dataList);
2 mDatenbank = mHelper.getWritableDatabase();
3
4 Cursor data = mDatenbank.rawQuery("SELECT _ID as _id, CATEGORY, NAME, DESCRIPTION " +
5 "FROM tutorial " +
6 "where NAME like '%"+search_result+
7 "%' OR CATEGORY like '%"+search_result+
8 "%' OR DESCRIPTION like '%"+search_result+
9 "%'",
10 null);
11
12 startManagingCursor(data);
13
14 ListAdapter dataList = new SimpleCursorAdapter
15 (
16 this,
17 R.layout.list_element_name,
18 data,
19 new String[] {"NAME"}, //Welche Felder zur Anzeige gebracht werden
20 new int[] {R.id.label}
21 );
22 this.setListAdapter(dataList);
klappt auch, was ja schon mal gut ist.
Es klappt jedoch nur für ein Schlagwort, ist ja klar da genau das zwischen den %%-Zeichen gesucht wird.
Suche ich jetzt zB. %Joomla%, liefert er mir alles zu diesem Schlagwort.
möchte ich jetzt jedoch %Joomla 1.5% suchen, findet er zB. Joomla Version 1.5 nicht, da das Ausrufezeichen von Suchstring abweicht.
Nun meine Frage, könnt ihr mir einen kleinen Denkanstoß geben, wie ich mein Problem lösen kann? Ich möchte eine Suche die dann wirklich alle Wörter mit der DB abgleicht und auflistet.
Danke im Voraus.
— geändert am 14.02.2013, 09:17:08
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.