2011-07-06 31 views
0

我是新到Android編程,我做一個簡單的SELECT有rawquery和它給我一個錯誤...無法使用SELECT在RAWQUERY

這裏是我的代碼

公共光標getSubCategory (INT的categoryID){

String select = "SELECT subcategory_name FROM subcategory WHERE id_category = " + categoryID; 
    return mDb.rawQuery(select, null);  
    } 

正如你可以看到id_category是一個整數

如果任何人有想法將是巨大的

+0

錯誤是什麼? – Randy

回答

0
您不使用API​​充分發揮其優勢,在那裏,你應該使用

String select = "SELECT subcategory_name FROM subcategory WHERE id_category = ?" 

,然後在CategoryID傳遞給第二個參數一樣

... 
String[] arguments = { categoryID.toString() } 
return mDb.rawQuery(select, arguments); 
... 

這應該刪除SQL注入風險,因爲你是

使用參數(「?」)。

除此之外,我們將需要更多有關錯誤的詳細信息,以便進一步幫助您

+0

它的工作,我確實通過Integer.toString(categoryID)更改categoryID.toString();但您的解決方案很有幫助。非常感謝。 – JPBoucher