2011-04-21 34 views
2
像子句中使用與db.query(....)

您好,我是新來的Android和陷在問題如何在SQLite的

我有兩個字段的表SONGNAME和songhits在我的數據庫。現在我想獲得所有以字符串開頭的歌曲,比如說MATCH_STR按照列表中的歌曲排序。我知道sql查詢,但是我不知道如何在我的android app.pls中執行幫助我使用示例或正確的代碼。

我的代碼:

Cursor c = myDB.query(MY_DATABASE_TABLE, "songname","songname like %"+MATCH_STR+"%" , null, null,"SongHit", null); 
    if (c != null) 
    { 

     c.moveToFirst(); 
     int SongNameColumn = c.getColumnIndex("SongName"); 
     if (c.isFirst()) 
     { 
        i = 0; 

        do { 
          i++; 
          String SongName = c.getString(SongNameColumn); 

          // Add current Entry to results. 
          results.add(SongName); 
         } while (c.moveToNext()); 
      } 
} 

回答

0

我想你已經錯過了喜歡操作

單引號鏈接
Cursor c = myDB.query(MY_DATABASE_TABLE, "songname","songname like '%"+MATCH_STR+"%'" , null, null,"SongHit", null); 

檢查和糾正你的查詢

+0

我檢查,但它不工作 – sayantan 2011-04-21 20:01:05

+0

嗨,嘗試使用myDB.rawQuery(yourSql)。在這裏你可以編寫完整的查詢 – 2011-04-22 06:27:11

5
Cursor c = myDB.query(MY_DATABASE_TABLE, "songname","songname like ?" , new String[]{"%"+MATCH_STRING+"%"}, null,"SongHit", null); 

可能這些會不會有幫助! !

0

試試下面的代碼用於搜索: -

public Cursor getROUTINENAME(String search_str) { 
     String query = "SELECT * FROM TBNAME where COL_NAME LIKE '%"+search_str+"%'"; 

     Cursor mCursor = db.rawQuery(query, null); 
     if (mCursor != null) { 
      mCursor.moveToFirst(); 
     } 
     return mCursor; 
    } 

通話以上字符串函數。