2015-05-29 47 views
0

下面的查詢工作正常在我的應用程序的Android SQLite的查詢功能

db.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,KEY_FAULTREF,KEY_WORKNUM,KEY_ORIGNUM,KEY_REPBY,KEY_REPDATTIM,KEY_DESCRIPTION}, KEY_FAULTREF + "='" + strname+ "'", null,null, null, null, null); 

則strName就是我正在尋找,但它只會帶回完全匹配此

我想修改,因此記錄帶回包含一切則strName(例如像則strName

我嘗試以下,但我的應用程序崩潰

db.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,KEY_FAULTREF,KEY_WORKNUM,KEY_ORIGNUM,KEY_REPBY,KEY_REPDATTIM,KEY_DESCRIPTION}, KEY_REPBY + "LIKE %'" + strname+ "'%", null,null, null, null, null); 

我知道它的LIKE語句,但任何IDE即時錯誤?

您的幫助表示讚賞

馬克

+0

您可以發佈logcat嗎? –

回答

2

%通配符必須是字符串的一部分:

... + " LIKE '%" + strname+ "%'", ... 

請注意,此代碼將炸燬當字符串包含引號。 您應該改用參數:

db.query(true, DATABASE_TABLE, 
     new String[] {KEY_ROWID,KEY_FAULTREF,KEY_WORKNUM,KEY_ORIGNUM,KEY_REPBY,KEY_REPDATTIM,KEY_DESCRIPTION}, 
     KEY_REPBY + " LIKE ?", 
     new String[] { "%" + strname + "%" }, 
     null, null, null, null); 
+0

非常感謝您的款待 –