Friday, August 13, 2010

How to implement where clause on Android Query method?

Programmer Question

I'm trying to query a word, for this Im using the db.query method. But I want use a where clause, I've done like this on my code, but, the emulator returns an error.



public String select(String wrd) {
String list = new String();
Cursor cursor = this.db.query(TABLE_NAME, new String[] {"word"},
"word like " + wrd + "", null, null, null, "id desc");
if (cursor.moveToNext()) {
do {
list = cursor.getString(0);
} while (cursor.moveToNext());
}
if (cursor != null && !cursor.isClosed()) {
cursor.close();
}
return list;


}



Im calling this method in other class, parsing a String argument.



Cursor cursor = getContentResolver().query(CONTENT_URI, null, null, null, null);                                    
String body;
if(cursor.moveToFirst()){
body = cursor.getString(cursor.getColumnIndexOrThrow("body")).toString();
if(body == ""){
Toast.makeText(getBaseContext(), "There is no words to save!", Toast.LENGTH_LONG).show();
}
else{
String words = this.dh.select("Testando");
StringTokenizer st = new StringTokenizer(body);
while(st.hasMoreTokens()){
if(words == st.nextToken())
Toast.makeText(getBaseContext(), "found! "+words+"", Toast.LENGTH_LONG).show();
this.dh.insert(st.nextToken());
Toast.makeText(getBaseContext(), "The set of words has been updated!", Toast.LENGTH_LONG).show();
}
StringBuilder sb = new StringBuilder();
sb.append("Set of words:\n\n");
sb.append(words + " ");
txtView.setText(sb.toString());
}
}


Find the answer here

No comments:

Post a Comment

LinkWithin

Related Posts with Thumbnails