2010-09-29 16 views
4

Actuellement, je reçois les valeurs de déclaration comme ceci:Récupère les noms de colonnes dans SQLite?

[[NSString stringWithUTF8String:(char *)sqlite3_column_text(ReturnStatement,0)] retain]; 

Je veux obtenir les valeurs en entrant le nom de colonne comme ceci:

[[NSString stringWithUTF8String:(char *)sqlite3_column_text(ReturnStatement,@"FirstColumn")] retain]; 

Est-il possible de le faire?

+0

Quelle est votre motivation pour utiliser une chaîne au lieu d'un index numérique. – falconcreek

+0

vous suggère de lire la documentation avant de poster une question. http://sqlite.org/c3ref/column_blob.html – falconcreek

+0

J'ai lu la documentation. C'est pourquoi je demande à quiconque a fait cette chose par un code de personnaliser. Je veux utiliser le nom de colonne car si je change les colonnes db ou la sélection dans la requête je n'aurai pas à m'inquiéter de l'index. J'espère que vous comprenez maintenant pourquoi les gens veulent une sélection par nom de colonne. –

Répondre

3

Découvrez http://sqlite.org/c3ref/column_name.html. Vous devrez parcourir les index de colonnes renvoyés par la requête pour ajouter les noms de colonnes à un tableau ou un dictionnaire que vous pourrez consulter plus tard pour rechercher l'index de colonne donné à la fonction column_text qui n'accepte que l'index de colonne comme paramètre entier.

L'un des problèmes de l'utilisation de sqlite directement à la place de CoreData qui s'occupera de cela pour vous.

+0

okay merci pour votre réponse. :) –

Questions connexes