Я пытался установить крошечную простую базу данных в свой титановый проект с кодом из документации и пробовать различные настройки, как это было предложено различными источниками. Но я не могу заставить его работать, я получаю ошибки, такие как «no such table» или resultset is null. CurrentY мой код выглядит следующим образом:Как я могу установить базу данных в проект из титанового сплава?
var db = Ti.Database.install('../assets/exercises.db', 'exercisesDB');
Ti.API.info('installed '+ db.getName() );
db.close();
Ti.API.info('closed db' );
db = Ti.Database.open('exercisesDB');
Ti.API.info('reopened db' );
//Ti.API.info(db.getName() );
var exercisesDBRS = db.execute('SELECT id,name FROM exercise');
Я попытался положить файл базы данных exercises.db в папке активов и в папке ресурсов, но я не получаю не где. Я создал db-файл с «DB Browser for SQLite» версии 3.9.1 на OSX Sierra - совместим ли он с проектами сплавов приложений? Мой текущий код выдает ошибку «нет такой таблицы» в вызове выполнения. Уверяю вас, в файле db есть таблица упражнений.
PS, полный код в файл новых проектов index.js выглядит следующим образом:
var db = Ti.Database.install('exercises.sqlite', 'exercisesDB');
Ti.API.debug('installed '+ db.getName() );
db.close();
Ti.API.debug('closed db' );
db = Ti.Database.open('exercisesDB');
Ti.API.debug('reopened db' );
var exercisesDBRS = db.execute('SELECT id, name FROM exercise');
Ti.API.debug('executed select');
Ti.API.debug(' rowcount== '+ exercisesDBRS.rowCount);
while (exercisesDBRS.isValidRow()) {
var exId = exercisesDBRS.fieldByName('id');
var exName = exercisesDBRS.fieldByName('name');
Ti.API.debug("Exercise: "+exId + ' ' + exName );
exercisesDBRS.next();
}
exercisesDBRS.close();
db.close();
function doClick(e) {
alert($.label.text);
}
$.index.open();
Новый проект, но тот же код и копию того же файла базы данных в приложение/Lib папки. Такая же ошибка - нет такой таблицы в строке выполнения при тестировании в android, отлично работает в iOS sim.
Спасибо, но я попробовал папку lib и папку сценария, но получил ту же ошибку. Пробовал это с и без «/», с той же ошибкой. BTW, я могу создать таблицу с sql, а затем запустить запрос без ошибок, но, конечно, также без каких-либо возвращенных строк. –
BTW, я также пробовал полный абсолютный путь к файлу db, который я пробовал как как .db, так и .sqlite. Пока не повезло. –
Некоторый прогресс, после очистки проекта и удаления приложения с iOS-симулятора, он сработал. Однако тот же процесс не работал на моем устройстве Android, но по-прежнему не получал такой ошибки таблицы. Я предполагаю, что старая база данных все еще висит на устройстве. Пробовал очистить данные приложения, но все равно не повезло. –