2010-07-19 6 views
0
sqlite3_stmt *updateStmt = nil; 
    if (updateStmt == nil) 
    { 
     const char *sql = " update PPM set amount = ? "; 
     if (sqlite3_prepare_v2(appDelegate.PPMdatabase, sql, -1,&updateStmt, NULL)!= SQLITE_OK) 
     { 
      NSAssert (0,@"Error while creating update statement. '%s'",sqlite3_errmsg(appDelegate.PPMdatabase)); 
     } 
    } 
    sqlite3_bind_double (updateStmt,1, Val); 
if (SQLITE_DONE != sqlite3_step(updateStmt)) 
    { 
     NSAssert(0,@"Error while updating.'%s'",sqlite3_errmsg(appDelegate.PPMdatabase)); 
    } 
    sqlite3_reset(updateStmt); 

J'obtiens l'erreur: erreur lors de l'erreur updating.unkowndéclaration de mise à jour sqlite

+0

Pouvez-vous reformater votre question pour la rendre lisible? Merci. – dwich

+0

hey remercie Kenny. – user391301

+0

Quelle est la différence entre "PPMdatabaseTemp" et "PPMdatabase"? Peut-il être que vous imprimez un code d'erreur à partir d'un autre handle de base de données? Alors, quelle est la sortie exacte du code d'erreur de sqlite3_step? – thatsdisgusting

Répondre

2

Vous devriez être comparaient sqlite3_step() contre SQLITE_OK, puis en utilisant les codes de résultats étendus pour discrimination plus fine. Même le documentation calls this scheme "goofy".

La raison pour laquelle vous obtenez une "Erreur inconnue" est probablement parce que vous appelez sqlite3_errmsg lorsqu'il n'y avait pas d'erreur (c'est-à-dire que l'étape() renvoyait OK).

+0

pouvez-vous m'aider comment utiliser la clause where dans la requête? – user391301

+0

Et si je compare avec SQLITE_OK le programme se bloque. – user391301

+0

Je ne vois nulle part une clause WHERE, et si changer un opérande constant à l'opérateur '! =' Provoque l'arrêt brutal de votre programme, je ne peux pas du tout l'utiliser. Vous pouvez essayer la méthode de débogage «nounours»: prenez un nounours (ou une brique, etc.) et expliquez-lui ce que vous essayez de faire. Vous avez besoin de la pratique expliquant vos problèmes et une brique est étonnamment bonne aide à cela. Je ne plaisante pas. – msw

Questions connexes