2013-08-22 114 views
1

從Y列中獲取所有字符串X並將其作爲遊標返回的算法是什麼?我需要一個多次返回光標的函數,所以算法必須考慮到這一點。Need Algorithm SQLite Android

我真的很感激它。

UPDATE:

public Comment search1(){ 
     List<Comment> comments = new ArrayList<Comment>(); 

     Cursor cursor = database.query(MySQLiteHelper.TABLE_COMMENTS, 
       allColumns, MySQLiteHelper.COLUMN_NAME +" LIKE" + "'%QUERY%'", null, null, null, null); 

     cursor.moveToFirst(); 
     Comment newComment = new Comment(); 
     //set values of this comment 
     newComment = cursorToComment(cursor); 
     //Close cursor 
     cursor.close(); 

     return newComment; 
    } 

忽略註釋部分這是我使用的ListView的適配器。

更新2:

這工作:

public List<Comment> search2() { 
     List<Comment> comments = new ArrayList<Comment>(); 

     Cursor cursor = database.query(MySQLiteHelper.TABLE_COMMENTS, 
       allColumns, MySQLiteHelper.COLUMN_NAME +" LIKE" + "'%QUERY%'", null, null, null, null); 
     cursor.moveToFirst(); 
     while (!cursor.isAfterLast()) { 
      Comment comment = cursorToComment(cursor); 
      comments.add(comment); 
      cursor.moveToNext(); 
     } 
     // Make sure to close the cursor 
     cursor.close(); 
     return comments; 
    } 
+0

注意:'search1()'是一個** awful **方法的命名。 – m0skit0

+0

謝謝,我明白了,但我只是試着看看有什麼可行的,哪些沒有。它服務於我的短期實驗,並不是永久的。然而,爲什麼它如此糟糕。 –

+0

好的。這很糟糕,因爲它毫無意義。當你回來的時候,一個星期沒有觸及這個方法,你就不會記得它做了什麼,並且不得不浪費時間閱讀要知道的代碼。如果你給出一個有意義的名字,這次你不會浪費。 – m0skit0

回答

1

假設你有一個SQLiteDatabase對象,使用它的幾個query方法之一返回Cursor。該查詢將是列Y值的簡單SELECT

您可能會發現一個SQLiteOpenHelper用於獲取數據庫對象。有關更多詳細信息,請參閱指南主題Using Databases

+0

我有遊標,它是隻返回列中搜索結果的第一個值。我希望它繼續下去,並在專欄中留下餘下的內容。 –

+2

@AhmedZafar - 你使用遊標的moveToNext()方法嗎?也許你應該編輯你的問題向我們展示你的代碼。 –

+0

完成!它顯示了「QUERY」的第一個實例。我如何通過moveToNext()獲得其餘部分,如果可能的話,你能告訴我如何得到一個確切的字符串,而不是使用'LIKE'?謝謝 –