2010-11-20 99 views
-1

應用程序崩潰,如果能夠text =cursor.getString(cursor.getColumnIndexOrThrow(KEY_BODY));查詢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

請包含錯誤日誌。 – Juhani 2010-11-20 15:53:30

+0

-1。請至少在下次嘗試寫出一個體面的問題。包括一個錯誤日誌和更多信息你想要做什麼,哪些不起作用。 – 2010-11-20 16:37:22

回答

1

嗯,你不能傳遞參數右:

  1. 您必須提供字符串參數傳遞給篩選查詢,從而傳遞字符串參數去你的方法
  2. 我假設你正在傳遞當前的索引和常量。

繼承人你怎麼做:

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 "";