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

Whats wrong with the following sqlite statement in android

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

无法识别的令牌:“12345”(代码 1):,编译时:SELECT id,标志来自 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);

你应该转义你的数据。使用 ”?”因为参数很棒。您需要将其转换为字符串。不使用 rawQuery 时的常用方法是:

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

这应该有效

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

我在 number

附近添加了 ''