2009-12-05 7 views
0

Je rencontre des problèmes lors de l'écriture d'instructions, en particulier lors de la mise à jour.Utilisation de SQLite à partir d'Objective-C

  • Je veux mettre à jour une colonne avec un paramètre, mais je ne sais pas les caractères spéciaux à utiliser comme @ ou %d.

J'ai essayé de le faire:

const char *sqlStatement = [[NSString stringWithFormat: 
    @"update lugar set frecuencia ='d%'aumentador Where idLugar = '%d'", 
    idLugarParametro] cStringUsingEncoding:NSUTF8StringEncoding]; 

Mais je reçois un problème avec: frecuencia ='d%'aumentador

  • Comment puis-je trouver un guide ou tutoriel pour utiliser ce caractères spéciaux pour les déclarations de création? (En utilisant spécifiquement l'objectif C.)
+1

Il n'y a pas de bonnes raisons d'utiliser le sqlite C api directement. Utilisez un wrapper: http://cocoaheads.byu.edu/resources/sqlite –

Répondre

2

Voici An Introduction To The SQLite C/C++ Interface. Voici la documentation Apple pour NSString stringWithFormat et string format specifiers.

Je note qu'il semble que vous avez saisi d%, mais probablement signifiait %d pour le spécificateur de format (vous pourriez avoir besoin d'un espace supplémentaire là aussi), et que vous avez seulement fourni un arg (idLugarParametro), mais votre format chaîne a deux: spécificateurs

------------------------------1v------------------------------2v 
update lugar set frecuencia ='%d' aumentador Where idLugar = '%d' 

de sorte que vous devez fournir deux valeurs - la nouvelle valeur de frecuencia est pas là. Enfin, suggérez de regarder l'utilisation des instructions préparées une fois que vous maîtrisez les bases - voir les documents SQLite.

Questions connexes