2010-11-20 2 views
-1

der App Absturz aktivieren, wenn text =cursor.getString(cursor.getColumnIndexOrThrow(KEY_BODY));Abfrage in android

public String getPhone(long rowId){ 
     SQLiteDatabase cb = mDbHelper.getReadableDatabase(); 
     String text = null ; 
     Cursor cursor=cb.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TITLE, 
       KEY_BODY,KEY_EMAIL},KEY_ROWID + " = ?"+rowId, null, null, null,null); 

    //text = cursor.getString(cursor.getColumnIndexOrThrow(KEY_BODY)); 


       return text; 

} 
+0

Bitte geben Sie Fehlerprotokoll. – Juhani

+0

-1. Bitte versuchen Sie wenigstens, beim nächsten Mal eine anständige Frage zu formulieren. Ein Fehlerprotokoll und weitere Informationen enthalten, was Sie tun möchten und was nicht funktioniert. –

Antwort

1

Nun Ihr den Parameter rechts nicht vorbei:

  1. Sie müssen String args bieten Abfrage zu filtern, so dass String param auf Ihre Methode übergeben
  2. Ich nehme an, Sie übergeben aktuelle Indizes und Konstanten.

Heres, wie Sie es tun:

public String getPhone(String rowId){ 
    SQLiteDatabase cb = mDbHelper.getReadableDatabase(); 
    String text = null ; 
    Cursor cursor=cb.query(DATABASE_TABLE, new String[] 
     {KEY_ROWID, KEY_TITLE, KEY_BODY,KEY_EMAIL},KEY_ROWID + " = ?",new String[]{rowId}, null, null,null); 
    if(cursor.moveToFirst()) 
     text =cursor.getString(cursor.getColumnIndexOrThrow(KEY_BODY)); 
    else 
     return "";