2012-04-18 57 views
0

为什么我得到这个代码的错误?Android的SQLite查询与字符串在哪里

public Cursor getAllTitlesFromInnerListGroup(String tablename, String grp) { 
    String[] columns = new String[]{KEY_ROWID_T, KEY_NAME_T, KEY_PRIORITY_T, KEY_FINISHED_T, KEY_NOTES_T, KEY_HIDDEN_T, KEY_QUANTITY_T, KEY_GROUP_T}; 
    //return ourDatabase.query("GL_" + tablename, columns, KEY_GROUP_T + "='Volvo'", null, null, null, null); //this works 
    return ourDatabase.query("GL_" + tablename, columns, KEY_GROUP_T + "=" + grp, null, null, null, null); 
} 

04-18 21:10:53.118:E/AndroidRuntime(30721): android.database.sqlite.SQLiteException:致没有这样的柱:沃尔沃:, 在编译:SELECT _id ,grlist_name,grlist_priority, grlist_finished,grlist_notes,grlist_hidden,grlist_quantity, grlist_group FROM GL_table WHERE grlist_group =沃尔沃

回答

2

更改此:

return ourDatabase.query("GL_" + tablename, columns, KEY_GROUP_T + "=" + grp, 
null, null, null, null); 

对此:

return ourDatabase.query("GL_" + tablename, columns, KEY_GROUP_T + "= ?" , 
new String[]{grp}, null, null, null);