2013-03-04 4 views
0

J'utilise le simulateur iPhone 6.1 et cela fonctionne. Cependant, quand je vais sur mon iPhone [iOS 6.1], j'obtiens une erreur "Erreur lors de la mise à jour, pas une erreur". AIDEZ-MOI!!!!Fonctionne dans simulateur 6.1, mais pas sur iPhone iOS 6.1

NSString *filePath = [[[NSBundle mainBundle] resourcePath ]stringByAppendingPathComponent:@"myDatabase.sqlite"]; 


    NSString* str2 = SeqNo1.text; 
    sqlite3 *database; 
    sqlite3_stmt *updateStmt=NULL; 
    if(sqlite3_open([filePath UTF8String], &database) == SQLITE_OK) 
    { 
     NSString* sql= [NSString stringWithFormat:@"UPDATE MyTable Set MyField2 = \"%@\" WHERE MyField1 = \"%@\"", @"Y", str2]; 
     if(sqlite3_prepare(db, [sql cStringUsingEncoding:NSASCIIStringEncoding], -1, &updateStmt, NULL) != SQLITE_OK) 
      NSLog(@"Error while creating update statement. %s", sqlite3_errmsg(database)); 
    } 
    if(sqlite3_open([filePath UTF8String], &database) == SQLITE_OK)   
    { 
    int step = sqlite3_step(updateStmt); 
    if(step != SQLITE_DONE) 

     NSLog(@"Error while updating. %s", sqlite3_errmsg(database)); // THIS WHERE THE ERROR IS OCCURRING 
    sqlite3_finalize(updateStmt); 
    sqlite3_close(database); 
    } 
    else{ 
     NSLog(@"Error while Opening Databse. %s", sqlite3_errmsg(database)); 
    } 
+0

à quoi sert SeqNo1.text? – AnthonyLambert

Répondre

1

mainBundle est en lecture seule. Vous ne pouvez pas modifier les fichiers dans le bundle.

Vous devez copier le fichier de base de données dans le répertoire de documents et y lire et écrire. Pas de Bundle.

+0

Midhun - Merci pour vos conseils. Ça a marché. –

+0

@BurtRosner: Avec plaisir :) –

Questions connexes