Полезная информация

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№127-11-2013 21:56:35

atrac
Участник
 
Группа: Members
Зарегистрирован: 08-11-2013
Сообщений: 6
UA: Firefox 23.0

Использование Sqlite из расширения

Добрый вечер.
Подскажите господа, пишу аддон к лисе который с открытого окна с помощью JQuery собирает со страницы некоторые данные, эти данные на странице периодически обновляются и необходимо эти значения атрибутов сохранять, возможно ли сохранять эти данные, кроме стандартных массивов javascipt, в базу данных например в Sqlite который использует Firefox. С помощью Sqlite Manager довольно удобно было бы работать с базой в данном случае. Меня интересует как из расширения приконектится к базе? Или кто как использует хранение данных в приложении?

Отредактировано atrac (27-11-2013 23:40:22)

Отсутствует

 

№228-11-2013 10:29:44

atrac
Участник
 
Группа: Members
Зарегистрирован: 08-11-2013
Сообщений: 6
UA: Firefox 23.0

Re: Использование Sqlite из расширения

Спасибо. Над этим я уже работаю, думал может кто то уже докопался до этого.

Отсутствует

 

№324-12-2013 12:28:20

atrac
Участник
 
Группа: Members
Зарегистрирован: 08-11-2013
Сообщений: 6
UA: Chrome 27.0

Re: Использование Sqlite из расширения

Докопался.
Вот может кому пригодится.

Выделить код

Код:

Components.utils.import("resource://view/sqlite.js");
var mDbConn = new SQLiteHandler();

// Подключение базы
// Создать базу и ее просматривать возможно с помощью SQLite Manager

var localFile = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
var pathfile = 'C:\\view.sqlite';
localFile.initWithPath(pathfile);
mDbConn.openDatabase(localFile, 0);

// Отправляем запрос к базе

var sql = "insert into 'eventid' ('time') values ('2013')";
mDbConn.selectQuery(sql);

в SQLite Manager можно составлять и проверять запросы.

Есть еще один нюанс, быстродействие SQLite по умолчанию на одну транзакцию вставки insert где-то 40-100 мс. Это при условии сохранении целостности базы.
Если работать в режиме PRAGMA synchronous=OFF то быстродействие 0-1 мс. Но без гарантии сохранения данных если будет сбой.
Включается так

Выделить код

Код:

mDbConn.selectQuery("PRAGMA synchronous=OFF");

sqlite.js взят из  SQLite Manager

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]