无法在RAWQUERY中使用SELECT

时间:2011-07-06 02:32:27

标签: sql sqlite select

我是android编程的新手,我正在使用rawquery做一个简单的SELECT,它给了我一个错误......

这是我的代码

public Cursor getSubCategory(int categoryID){

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

如您所见,id_category是一个整数

如果有人有想法那就很棒

1 个答案:

答案 0 :(得分:0)

你没有充分利用API,你应该使用

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

然后将categoryID传递给第二个参数,如

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

这会在您使用参数(“?”)时删除SQL注入风险。

除此之外,我们还需要有关错误的更多详细信息以帮助您进一步了解