2010-11-20 89 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 "";