2011-09-05 3 views
0

J'essaie de faire une instruction d'insertion sur iPhone et tous les autres fonctionnant mais j'essaye celui-ci et après que j'essaye de lier des valeurs mais j'ai eu l'erreur 21 et il se produit parce que la variable stmt est après préparer 0x00 (null je pense) Mais ne sais pas ce qui est arriveiPhone sqlite préparer l'erreur

sqlite3 *database; 
     sqlite3_open([pathDb UTF8String], &database);   
     sqlite3_stmt *stmt; 

     NSString *insert = @""; 
     if ([model.ident intValue] != -1) 
     { 
      insert = @"UPDATE Blubb SET Key=? WHERE Id = ?"; 
     } 
     else 
     { 
      insert = @"INSERT INTO Blubb (Id, Field,KeyLastUpdate,SortNr) VALUES (?,NULL,date('now'), SELECT COUNT(*) + 1 FROM Connections)"; 
     } 
     const char *insertStmt = [insert UTF8String]; 


     int result = sqlite3_prepare(database, insertStmt, -1, &stmt, NULL); 

Répondre

2

en utilisant les fonctions C directement SQLite est une douleur ... déjà envisagé d'utiliser des emballages?

Depuis que j'utilise un je commencé à avoir beaucoup moins de problèmes avec DB querys ... Voici un lien avec des suggestions:

Best Cocoa/Objective-C Wrapper Library for SQLite on iPhone

espère que cela aide