Вставка и опрос Предположим, что вы нашли в Twitter все упоминания HTML5 и сохранили эти сообщения
в своей базе данных, а пользователю предоставляется возможность выбрать временной
диапазон создания интересующих его сообщений — последние 5 минут, 30 минут, 2 часа
или без ограничения времени создания. Время создания будет выбираться переключате-
лями с обработчиками нажатий, и ваш запрос будет возвращать только сообщения, соот-
ветствующие выбранному временному промежутку.
Самая большая сложность этого приложения заключается в разделении двух задач: со-
хранения сообщений в базе данных и отображения сообщений в зависимости от времени
создания.
Перед выполнением любого кода нужно создать базу данных и таблицу сообщений, причем
в таблице должен присутствовать столбец дат целочисленного типа — это важно, чтобы
в последующих разделах приложения можно было реализовать опрос базы данных:
function setupDatabase() {
db = openDatabase('tweets', '1.0', 'db of tweets',
¬ 2 * 1024 * 1024);
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE tweets (id unique,
¬ screen_name, date integer, text)');
});
getTweets();
}
Несколько замечаний относительно кода:
1. Я использую глобальную переменную
db
. (Я использую ее только в выдуманном при-
мере. Вообще-то, в JavaScript не рекомендуется использовать глобальные переменные.)
2. Я сообщаю базе данных
tweets
, что столбец
id
должен содержать уникальные значения.
Это означает, что оператор
INSERT
с дублирующимися данными вернет ошибку.
3.
CREATE
TABLE
может вернуть ошибку, только если такая таблица уже существует, ведь
в этой транзакции вы больше ничего не делаете.