8Fermer10
squalylLe 02/05/2008 à 13:51
ben regarde son code:
 // Compile la requete
     sqlite3_stmt* statement;
     const char *zTail = 0;
     for (int i =0;i<100;i++){
          sqlite3_prepare(db,"INSERT INTO tbl (champ1,champ2) VALUES ( ?001, 5 )",1000,&statement,&zTail);
          sqlite3_bind_int(statement, 1, i);

          // Execute la
          rc = sqlite3_step(statement);
     
          // Nettoyage
          sqlite3_finalize(statement);
          sqlite3_reset(statement);
     }


pourquoi il compile la requête dans la boucle?

moi j'aurais fait:
 // Compile la requete
     sqlite3_stmt* statement;
     const char *zTail = 0;
     sqlite3_prepare(db,"INSERT INTO tbl (champ1,champ2) VALUES ( ?001, 5 )",1000,&statement,&zTail);
     for (int i =0;i<100;i++){
          sqlite3_bind_int(statement, 1, i);

          // Execute la
          rc = sqlite3_step(statement);
     
          // Nettoyage
          sqlite3_reset(statement);
     }
     sqlite3_finalize(statement);

(mais je sais pas comment marche sqlite en détails)