De retour de toutes les colonnes d'une table SQLite sous Android
La table de base de données SQLite, je suis de l'aide est soumis à l'ajout de colonnes à chaque fois que j'en ai besoin. Je ne veux pas coder en dur les colonnes, au risque de la mise à jour de la base de données et d'oublier de mettre à jour les valeurs codées en dur. Comment pourrais-je retourner les noms de colonnes dans une table? (De préférence dans un String[]
)
Vous devez vous connecter pour publier un commentaire.
Mieux si vous utilisez un
SQLiteDatabase
instance et d'utiliser la méthode de requêtecolumnNames
doit comporter les noms de colonneVous ne pouvez pas besoin d'une liste de noms de colonnes.
Il semble que vous voulez la liste des noms de colonnes, de sorte que vous pouvez construire une liste séparée par des virgules de colonnes à sélectionner. Si c'est le cas, alors l'endroit où vous auriez normalement placer la liste des noms de colonnes dans votre requête SELECT, vous pouvez utiliser un astérisque:
Ou si la table est un alias:
Un astérisque signifie "toutes les colonnes".
EDIT: Si vraiment vous voulez une liste de noms de colonnes d'une table, vous pouvez utiliser le code suivant:
Notez que vous ne devez pas modifier le renvoyées tableau de Chaînes de caractères en quelque sorte: https://code.google.com/p/android/issues/detail?id=3731
WHERE 0
utilisé? Ne pouvons-nous pas faire sans? :OIl est également intéressant de noter que la méthode de requête accepter null comme entrée pour la colonne paramètres. Si vous entrez la valeur null, toutes les colonnes sont retournées.
Sera de retour toutes les colonnes de la ligne qui a l'id spécifié.
Vous pouvez voir la définition de la méthode ici.
if(columns != null && columns.length != 0) { appendColumns(query, columns); } else { query.append("* "); }