2012-04-18 6 views
0

Pourquoi une erreur se produit-elle avec ce code?Requête sqlite Android où avec la chaîne

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): provoqué par: android.database.sqlite.SQLiteException: pas de colonne: Volvo:, lors de la compilation: SELECT _id , grlist_name, grlist_priority, grlist_finished, grlist_notes, grlist_hidden, grlist_quantity, grlist_group DE GL_table OU grlist_group = Volvo

Répondre

2

Modifier ceci:

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

à ceci:

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