Я создал веб-приложение iPhone с jQuery & jQTouch, использующий локальную базу данных SQLite браузера Mobile Safari в iPhone.Проблема с jQuery openDatabase(): переменная db не определена
Приложение работает отлично, вплоть до нескольких дней назад. Вдруг я получаю следующее сообщение об ошибке при попытке инициализировать базу данных:
TypeError: Result of expression 'db' [undefined] is not an object.
Эта ошибка возникает при попытке выполнить следующий код:
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
);
}
Конечно, переменная db
определяется глобально.
Теперь этот сегмент кода работал. Возможно, это связано с последним обновлением iOS 4.2? С этим обновлением поведение всей базы данных стало странным (например, они больше не видны в настройках, пока вы не перезапустите все устройство).
У кого-нибудь есть идея, как это исправить? Есть ли альтернативный способ инициализации объекта базы данных, или я пропущу что-то очевидное?
благодарит за все отзывы, они искренне ценятся! Roland
Да, более конкретно, я полагаю, вы использовали имя db вместо размера db в качестве третьего параметра. – tomdemuyt 2011-06-04 14:23:02