2013-02-16 106 views
2

你认为我的问题是什么。Android Sqlite没有结果

我正在查询一个sqlite数据库。 此代码不会给出任何结果。

String sql = " select _id from MYTABLE where _id = ? "; 
    Cursor cur = mDb.rawQuery(sql, new String[] {"5653"}) ; 

,但如果我执行查询不带参数是这样的:按预期的方式返回

String sql = " select _id from MYTABLE where _id = 5653 "; 
    Cursor cur = mDb.rawQuery(sql, null) ; 

一行。

非常感谢。

回答

2

发生这种情况是因为值绑定为字符串,并且该列是(我猜测)一个int。在

您可以包括S其中在查询中,将由来自selectionArgs两个值来代替条款 - 所以在where子句最终会被

where _id = "5653" 

从rawQuery的javadoc selectionArgs两个?这些值将被绑定为字符串。

0

试试这个:

String sql = " select _id from MYTABLE where _id = '5653' ";