2011-02-04 2 views
0

J'ai le morceau de code suivant, qui devrait être capable de se connecter au nombre d'enregistrements de la console (si la table subjects existe).Récupère le nombre d'enregistrements dans le tableau

db = openDatabase("myDatabase", "1.0", "", 200000); 

db.transaction(function(tx) { 
    tx.executeSql("SELECT COUNT(*) AS nor FROM subjects", [], 
     function(result){ 
      console.log(result.rows); 
     }, 
     function(tx, error){ 
      tx.executeSql("CREATE TABLE subjects (id REAL UNIQUE, name TEXT)"); 
     } 
    ); 
}); 

En fait, le result.rows est Exploitation forestière non définie, donc je ne peux même pas appeler la méthode item(int index) là-dessus. Comment puis-je avoir accès au nombre d'enregistrements renvoyés?

Répondre

2

Vous avez oublié le paramètre tx dans votre fonction de rappel onSuccess. Votre variable result est en fait l'objet de la transaction.

Voici le code corrigé:

db = openDatabase("myDatabase", "1.0", "", 200000); 

db.transaction(function(tx) { 
    tx.executeSql("SELECT COUNT(*) AS nor FROM subjects", [], 
     function(tx, result){ // <-- this is where you forgot tx 
      console.log(result.rows); 
     }, 
     function(tx, error){ 
      tx.executeSql("CREATE TABLE subjects (id REAL UNIQUE, name TEXT)"); 
     } 
    ); 
}); 
Questions connexes