Добавление объектов

Добавление объектов.

Итак, у нас есть имя базы данных, mydatabase, и мы знаем, что номер ее версии 1.0. Кроме того, мы создали одно хранилище объектов с именем movies и двумя индексами: id и date. Самое время поместить в хранилище несколько объектов.

Листинг 11.6. Добавление объектов

Function addobject(){

Var keyword=document. getElementById(‘keyword’).value; var title=document. getElementById(‘text’).value; var year=document. getElementById(‘year’).value;

Var transaction=db. transaction(['movies'], IDBTransaction. READ_WRITE); var objectstore=transaction. objectStore(‘movies’); var request=objectstore. add({id: keyword, name: title, date: year});

Request. addEventListener(‘success’, function(){ show(keyword) }, false);

Document. getElementById(‘keyword’).value=»;

Document. getElementById(‘text’).value=»;

Document. getElementById(‘year’).value=»;

}

В начале функции initiate() мы добавили прослушиватель события click, привязанный к кнопке на форме. При срабатывании события этот прослушиватель вызывает функцию addobject(). Она принимает значения из полей формы (keyword, text и year) и генерирует транзакцию, посредством которой эта информация сохраняется в новом объекте базы данных. Для того чтобы начать транзакцию, нужно вызвать метод transaction(), указав участвующие в транзакции хранилища объектов и тип транзакции. В данном случае мы указываем единственное хранилище — movies, а тип выбираем READ_WRITE.

На следующем шаге необходимо выбрать хранилище объектов, с которым мы будем работать. Поскольку транзакция может быть запущена для нескольких хранилищ, обязательно следует объявить, с каким хранилищем связывается конкретная операция. Используя метод objectStore(), мы открываем хранилище объектов и связываем его с транзакцией:

Transaction. objectStore(‘movies’).

После этого можно добавлять объект в хранилище объектов. В примере мы используем метод add(), так как создаем новые объекты, однако если бы перед нами стояла задача модифицировать или заменить старые объекты, можно было бы применить метод put(). Метод add() принимает свойства id, name и date, а также переменные keyword, title и year и создает объект, добавляя в него пары «ключевое слово/значение», составленные из переданной информации.

Наконец, мы прослушиваем событие, запускаемое данным запросом, и в случае успеха вызываем функцию show(). Разумеется, вторым возможным событием является error, но, поскольку ответ зависит исключительно от нашего приложения, в данном примере мы такую возможность не рассматриваем.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *