Блог Загирова Рустама

Около-интернетные заметки

Расширение для Google Chrome: Local Database Storage

| Комментарии

Продолжаем осваивать плагинописание для браузеров на основе chromium и ,соответственно, для google chrome. Текущая тема: научиться использовать local database storage. Local database storage – это база данных, использумая из javascript. Представляет она собой SQLite внутри. Синтаксис привычный для SQL баз. Я буду использовать базу для запоминания всех полученных цитат. Логически все действия можно разделить на 4 операции:

  1. Открытие базы и получение коннекта к ней
  2. Создание таблицы
  3. Запись в таблицу
  4. Чтение из таблицы

Открытие базы и получение коннекта

1
2
3
4
function get_db()
{
  return openDatabase("quotes", "1.0", "A list of quotes.", 2*1024*1024);
}

где quotes – название базы данных 1.0 – версия БД (не изменять) A list of quotes – комментарий 210241024 – максимальный размер базы данных в байтах

Создание таблицы

1
2
3
get_db().transaction(function(tx) {
  tx.executeSql("CREATE TABLE quotes (text TEXT, author TEXT, timestamp REAL)");
});

Запись в таблицу

1
2
3
get_db().transaction(function(tx) {
  tx.executeSql("INSERT INTO quotes (text, author, timestamp) VALUES (?, ?, ?)", [text, author, new Date().getTime()]);
});

Чтение из таблицы

1
2
3
4
5
6
7
get_db().transaction(function(tx) {
  tx.executeSql("SELECT * FROM quotes ORDER BY rowid DESC LIMIT 3", [], function(tx, result) {
    for(var i = 0; i < result.rows.length; i++) {
      alert(result.rows.item(i)['text']);
    }
  }, null)
});

rowid – “скрытое” поле, с типом autoinc

Исходный код на github

Ссылки по теме:

Комментарии