我正在使用Android进行开发,我需要使用类似运算符和变量对sqlite进行查询.
所以,我正在尝试对链接中创建的表进行查询,以便从表中只选择一个名称.我这样做:
Cursor c = sampleDB.rawQuery("SELECT FirstName, Age FROM " +
SAMPLE_TABLE_NAME + " where" +field+ " like %"+search+"%" , null);
Run Code Online (Sandbox Code Playgroud)
其中field和search是以这种方式定义的两个变量:
final String field = "LastName";
final String search = "Makam";
Run Code Online (Sandbox Code Playgroud)
如果我在输出中执行应用程序,我应该看到一行,其中包含我在查询中选择的名称和年龄.但是,我什么也得不到!
该Logcat of Eclipse显示:
sqlite returned: error code = 1,msg = near "like": syntax error.
Run Code Online (Sandbox Code Playgroud)
但我很确定它的语法是正确的.有人能帮助我吗?
用这种方式:
Cursor c = sampleDB.rawQuery("SELECT FirstName, Age FROM " +
SAMPLE_TABLE_NAME + " where " +field+ " like '%"+search+"%'" , null);
Run Code Online (Sandbox Code Playgroud)
public Cursor getSearch(String SAMPLE_TABLE_NAME, String field,
String search) {
SQLiteDatabase sampleDB = this.getReadableDatabase();
Cursor c = sampleDB.rawQuery("SELECT FirstName, Age FROM "
+ SAMPLE_TABLE_NAME + " where " + field + " like '%" + search
+ "%'", null);
return c;
}
Run Code Online (Sandbox Code Playgroud)