Невозможно получить доступ к мобильной базе данных Titanium - PullRequest
0 голосов
/ 05 апреля 2011

Мой код ниже представляет собой простое мобильное приложение Titanium для Android. Я реализовал базу данных, чтобы создать в ней таблицу. Но код, который я написал, не работает для меня. Я создал файл базы данных в папке ресурсов также. Но в базе данных нет изменений. Мой код для подключения базы данных правильный? Кто-то, пожалуйста, проверьте мой код и ответьте мне на запрос.

var win = Ti.UI.createWindow({
    title:'Window',
    backgroundColor:'black',
    borderColor:'grey'
});

var label1 = Ti.UI.createLabel({
    text:'Welcome to new Window',
    color:'white',
    font:{fontSize:20},
    top:10
});

var text1 = Ti.UI.createTextField({
   top:50,width:200
});

var text2 = Ti.UI.createTextField({
   top:100,width:200
});

var db = Titanium.Database.open('testdb');

db.execute('INSERT INTO tips (title, tip ) VALUES(?,?)','santhosh','sathya');

db.close();

win.add(label1);

win.add(text1);

win.add(text2);

win.open({fullscreen:false});

Ответы [ 3 ]

0 голосов
/ 05 апреля 2011

Если у вас есть существующий файл базы данных SQLite, который вы хотите, чтобы ваше приложение использовало, вы должны сначала установить его.

Titanium.Database.install( 'path/to/file.s3db', 'testdb' );

Однако имейте в виду, что после установки файл, указанный выше , не будет базой данных, которая будет использоваться приложением. За это руководство :

С другой стороны, install() скопирует предварительно существующий файл базы данных из Каталог Titanium Resources или один его потомков, чтобы applicationDataDirectory/../databases/ и вернуть ссылку на открытую базы данных.

0 голосов
/ 08 февраля 2012

У меня тоже есть проблема с запуском Time. Я даю вам пошаговый ответ.

Давайте попробуем разобраться с вашей проблемой:

  1. после создания базы данных в папке ресурсов приложения. Вы сначала чистите или проектируете.
  2. чем установить через код (Titanium.database.install('.....sqlite','<database>');
  3. чем открыто: db=Titanium.database.open(<database>);
  4. чем выполнить: db.execute(' your Syntax ');
  5. чем Закрыть: db.close();
0 голосов
/ 05 апреля 2011

Ваша база данных не может находиться в папке ресурсов, этот каталог доступен только для чтения с точки зрения приложения.

пожалуйста, посмотрите на эту документацию

http://wiki.appcelerator.org/display/td/250+Working+With+Local+Data

https://github.com/appcelerator/KitchenSink/blob/master/Resources/examples/database.js

...