android中的以下sqlite语句有什么问题

时间:2015-02-06 16:54:02

标签: java android sqlite

以下代码有什么问题?我收到以下错误

无法识别的令牌:“12345”(代码1):,编译时:SELECT id,flag FROM myTable WHERE snumber = 12345

String number = "12345";    
public static final String SNUMBER = "snumber";
public static final String ID = "id";
public static final  String FLAG = "flag";

String[] thecolumns = new String[] { ID, FLAG };

Cursor cursor = sqlDb.query(TABLE_NAME , thecolumns, SNUMBER+ "=" + number, null, null,   null, null);

2 个答案:

答案 0 :(得分:1)

这应该有效

Cursor cursor = sqlDb.query(TABLE_NAME , thecolumns, SNUMBER+ "='" + number+"', null, null,   null, null);

我在''

附近添加了number

答案 1 :(得分:0)

您应该转义数据。使用“?”对于params很棒。你需要将它转换为String。不使用rawQuery时常用的方法是:

  Cursor cursor = sqlDb.query(TABLE_NAME , thecolumns, SNUMBER+ "=?", Integer.toString(number), null,   null, null);