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

Java android中的以下sqlite语句有什么问题,java,android,sqlite,Java,Android,Sqlite,以下代码有什么问题?我得到以下错误 无法识别的标记:“12345”(代码1):,编译时:从myTable中选择标识,其中snumber=12345 String number = "12345"; public static final String SNUMBER = "snumber"; public static final String ID = "id"; public static final String FLAG = "flag"; String[] thecolum

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

无法识别的标记:“12345”(代码1):,编译时:从myTable中选择标识,其中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);

我添加了
关于
数字的内容,请将错误格式化为代码,而不是粗体,并给我们一个详细的说明,以便我们了解您正在做的事情。您已经涵盖了最基本的部分。这是一个简单的引用值问题,不需要在帖子中包含整个android应用程序。谢谢。。我不知道那边有句话。