Naar content
Trending apps
  • Inbox by Gmail

  • Maps: Navigatie en OV

  • WhatsApp Messenger

  • Messenger

  • Facebook

Trending games
  • Dr. Mario World

  • Harry Potter: Wizards Unite

  • Breaking Bad: Criminal Elements

  • The Elder Scrolls: Blades

  • Ghostbusters World

Trending smartphones
  • Microsoft Surface Duo

  • OnePlus 7T Pro

  • Nokia 7.2

  • Xiaomi Mi 9T Pro

  • Samsung Galaxy Note 10 Plus

Nieuwste tablets
  • Samsung Galaxy Tab S6

  • Samsung Galaxy Tab A 10.5

  • Samsung Galaxy Tab S4

  • Samsung Galaxy Tab S3 9.7

  • Asus Zenpad 3S 10

redbulletnl

redbulletnl

  • Lid sinds 02 september 2011
  • Berichten 2991
  • Reputatie 60
  • #1
  • 15 september 2011
  • 16:24

Hoi,

Zover ik eclipse begrijp doe je in de DBAdapter class alle databases gerelateerde dingen zoals SQL queries, en kun je deze aanroepen in je mainactvity.

Ik zit met het volgende probleem:
Ik heb een EditText waar ik een voorwaarde in type bijv een naam. hoe krijg ik dan een querry waar hij de naam op filter? en daarna in een toast of iets dergelijks laat zien?

Als ik de tekst uit de EditText probeer te krijgen in de DBAdapter krijgik een foutmelding.
Als ik een sql querry in mainactivity doe krijg ik ook een foutmelding,

dus hoe doe je

"SELECT index, naam FROM tblText WHERE naam =" EditText.getText();

alvast bedankt voor de moeite

Bewerkt (15 september 2011 16:24)
noticeit

noticeit

  • Lid sinds 15 september 2011
  • Berichten 1
  • Reputatie 0
  • #2
  • 15 september 2011
  • 19:47

Omdat je een string aan het opbouwen bent is het voor de compiler onduidelijk wat je precies wilt, zet een + voor de EditText.getText() en het zal wel werken.
Verder denk ik dat een LIKE query misschien meer iets voor je is:
“SELECT * FROM tblText WHERE naam LIKE ‘” + editText.getText() + “’”;

Bewerkt (15 september 2011 19:47)
fifarunnerr

fifarunnerr

  • Lid sinds 13 juli 2010
  • Berichten 1846
  • Reputatie 10
  • #3
  • 15 september 2011
  • 20:08

LIKE heeft daarin geen zin, omdat er dan speciale tekens als % en _ in moeten komen, en ik denk niet dat je die wilt gebruiken. Mocht je dat wel willen, LIKE gebruiken, anders gewoon weglaten.

Bewerkt (15 september 2011 20:08)
redbulletnl

redbulletnl

  • Lid sinds 02 september 2011
  • Berichten 2991
  • Reputatie 60
  • #4
  • 16 september 2011
  • 08:41

LIKE vind ik niet zo fijnmaar inderdaad ben de + hier vergeten, in het programma niet. Ik zal het nog wel een keer probere

Bewerkt (16 september 2011 08:41)
redbulletnl

redbulletnl

  • Lid sinds 02 september 2011
  • Berichten 2991
  • Reputatie 60
  • #5
  • 16 september 2011
  • 09:59

pff net anderhalf uur geworstelt, kom er niet uit

Kan iemand een stuk code poste (als het niet te veel moeite is) waarin je uit een database via een edittext de “where” kan invullen als je op een knop drukt?

Bewerkt (16 september 2011 09:59)
RunaR

RunaR

  • Lid sinds 09 augustus 2010
  • Berichten 214
  • Reputatie 0
  • #6
  • 16 september 2011
  • 10:10

Ik gebruik daar een functie in mijn dbhelper voor:

public String getDataString(long widgetId, String item) throws SQLException 
{
Cursor cursor = null;
String result = "";
try {
cursor = db.query(true, DATABASE_TABLE, new String[] {
WIDGETID,
item},
WIDGETID + "=" + widgetId,
null,
null,
null,
null,
null);
result = cursor.getString(cursor.getColumnIndex(item));
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IllegalStateException e) {
e.printStackTrace();
}finally {
if (cursor != null){
if (!cursor.isClosed())
cursor.close();
}

}
return result;
}

Ok dit is om wat data van een bepaalde enrty uit te lezen, maar dat is makkelijk te verbouwen to een zoek opdracht.

Zie:
Android documentatie

Bewerkt (16 september 2011 10:10)
redbulletnl

redbulletnl

  • Lid sinds 02 september 2011
  • Berichten 2991
  • Reputatie 60
  • #7
  • 16 september 2011
  • 10:32

thanxwidgetid is gewoon een string? of db kolom?

Bewerkt (16 september 2011 10:32)
RunaR

RunaR

  • Lid sinds 09 augustus 2010
  • Berichten 214
  • Reputatie 0
  • #8
  • 16 september 2011
  • 11:31

WidgetID is de index (integer). Dit komt rechtstreeks uit de RegenDetector code

Bewerkt (16 september 2011 11:31)
redbulletnl

redbulletnl

  • Lid sinds 02 september 2011
  • Berichten 2991
  • Reputatie 60
  • #9
  • 16 september 2011
  • 13:23

Hoe krijg je de tekst van een edittext in een string?
Heb al geprobeert :

zoektxt.getText().toString();
String querrytxt = zoektxt;

Bewerkt (16 september 2011 13:23)
IvoJanssen

IvoJanssen

  • Lid sinds 25 februari 2010
  • Berichten 275
  • Reputatie 0
  • #10
  • 16 september 2011
  • 13:51

[FONT=monospace]String querytxt = zoektxt.getText().toString();[/FONT]

Staat ook in DevTutorial 2, dus oefen die nog maar een keer ;)

Bewerkt (16 september 2011 13:51)

Reageer

Om te reageren, dien je te zijn ingelogd. Druk op de onderstaande knop om in te loggen of maak een nieuwe account aan.

Inloggen Registreren