J'ai créé une application Web iPhone avec jQuery & jQTouch, qui utilise la base de données SQLite locale du navigateur Mobile Safari dans l'iPhone.Problème avec jQuery openDatabase(): la variable db n'est pas définie
L'application fonctionnait bien, jusqu'à il y a quelques jours. Tout à coup, je reçois le message d'erreur suivant lorsque vous essayez d'initialiser la base de données:
TypeError: Result of expression 'db' [undefined] is not an object.
Cette erreur se produit tout en essayant d'exécuter le code suivant:
function openDB() {
db = openDatabase(dbName, '1.0', dbName);
db.transaction(
function(tx) {
tx.executeSql(
'CREATE TABLE IF NOT EXISTS energy_days ' +
' ... (omitted) ... ;',
[],
nullDataHandler,
function(tx, error){
alert('Error (CREATE TABLE): '+error.message+' (Code '+error.code+')');
return true;
}
);
},
transactionErrorHandler,
nullDataHandler
);
}
Bien sûr, la db
variable est définie globalement.
Maintenant, ce segment de code fonctionnait. Peut-être que cela a quelque chose à voir avec la dernière mise à jour iOS 4.2? Avec cette mise à jour, tout le comportement de la base de données est devenu étrange (par exemple, ils ne sont plus visibles dans les paramètres, jusqu'à ce que vous redémarriez l'ensemble du périphérique).
Quelqu'un a-t-il une idée pour résoudre ce problème? Existe-t-il une autre façon d'initialiser un objet de base de données ou est-ce que je manque quelque chose d'évident?
Merci pour toutes les réponses, ils sont sincèrement appréciés! Roland
Oui, plus précisément, je suppose que vous avez utilisé le nom de base de données au lieu de la taille de la base de données comme troisième paramètre. – tomdemuyt