17
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ «МЭИ» Институт Инженерно Экономический Кафедра Прикладная и бизнес информатика Ст. Преподаватель Н.А. Буданова В лекциях использованы материалы Летней школы Исследовательского центра Самсунг Базы данных в Tizen. СУБД WebSQL.

Базы данных в Tizen. СУБД . екция_5.pdf · PDF fileСУБД websql websql db —это СУБД и api для доступа к полноценному sql- хранилищу

Embed Size (px)

Citation preview

НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ «МЭИ»

Институт Инженерно Экономический Кафедра Прикладная и бизнес информатика

Ст. Преподаватель Н.А. БудановаВ лекциях использованы материалы Летней школы Исследовательского центра Самсунг

Базы данных в Tizen. СУБД WebSQL.

ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.

СУБД WebSQL

WebSQL DB — это СУБД и API для доступа к полноценному SQL- хранилищу данных, основанному на SQLite.

! Beware. This specification is no longer in active maintenance and the Web Applications Working Group does

not intend to maintain it further

ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.

СУБД WebSQL

Спецификация WebSQL больше не поддерживается. Основная причина в том, что многие производители ПО

считают SQL-модель если не устаревшей, то малопригодной для хранения данных в веб- среде.

ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.

СУБД WebSQL

Порядок работы:

1. OpenDatabase – подключаемся к БД

2. Transaction – открываем транзакцию

3. executeSql – выполняем SQL запрос

ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.

СУБД WebSQL (Пример)

var db;//версия бдvar version = 1.0;//имя бдvar dbName = "tizendb";//отображаемое имя бдvar dbDisplayName = "tizen_test_db";//размер бдvar dbSize = 2 * 1024 * 1024;

ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.

Открытие БД

function startDB() {if (window.openDatabase) {

//openDatabase(name, version, displayname, estimatedsize, callback);db = openDatabase(dbName, version, dbDisplayName, dbSize);

createTable(db);

dataView(db);} else {

alert("Web SQL Database not supported in this browser");}

}

ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.

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

// создаем таблицуfunction createTable(db) {

db.transaction(function (t) {t.executeSql("CREATE TABLE Products (id INTEGER PRIMARY KEY, product TEXT,

category TEXT, cost CHAR)", []);});

}

ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.

Добавление данных в таблицу

function insertData(db, product, category, cost) {db.transaction(function (e) {

e.executeSql("INSERT INTO Products(product, category, cost) VALUES (?, ?, ?)", [product, category, cost], onSuccess, onError);

});}

ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.

Редактирование (UPDATE) данных в таблицах

function editElement(db, id) { var a = prompt('Введите новое значение товара'), b = prompt('Введите новое

значение категории'), c = prompt('Введите новое значение цены');if (a, b, c){

db.transaction(function (e) {e.executeSql("UPDATE Products SET product=?, category=?, cost=? WHERE id=?",

[a, b, c, id], onSuccess, onError);});

}}

function onSuccess(e) { }function onError(e) { }

ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.

Удаление таблиц

// удалить таблицу целиком function dropTable(db) {

db.transaction(function (e) {e.executeSql("DROP TABLE Products");

});}

ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.

Удаление элемента из БД

//удаление элемента из БДfunction deleteElement(db, id) {

db.transaction(function (e) {e.executeSql("DELETE FROM Products WHERE id=?", [id], onSuccess, onError);

});}

ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.

Очистка таблиц

//очистить таблицуfunction deleteTable(db) {

db.transaction(function (e) {e.executeSql("DELETE FROM Products");

});}

ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.

Добавление данных в БД

function selectDB() {if (window.openDatabase) {

//openDatabase(name, version, displayname, estimatedsize, callback);db = openDatabase(dbName, version, dbDisplayName, dbSize);createTable(db);

//добавляем товар в таблицуinsertData(db, document.form1.tovar.value, document.form1.vid.value,

document.form1.cena.value);

dataView(db);

} else {alert("Web SQL Database not supported in this browser");

}}

ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.

Отображение данных из БД

function dataView(db) {var html = document.getElementById("tbody01");html.innerHTML = "";

db.transaction(function (t) {t.executeSql("SELECT * FROM Products", [],function (tran, r) {

for (var i = 0; i < r.rows.length; i++) {var id = r.rows.item(i).id;var product = r.rows.item(i).product;var category = r.rows.item(i).category;var cost = r.rows.item(i).cost;

ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.

Отображение данных в виде таблце из БД

if (html) {html.innerHTML += "<tr><td>" + id + "</td><td>" + product + "</td><td>" + category +

"</td><td>" + cost +"</td><td><form><input type='image' src='images/editButton.jpg' alt='Изменить элемент' onClick='editElement(db," + id + ")'><input type='image' src='images/Delete.png' alt='Удалить элемент' onClick='deleteElement(db," + id + ")'></form></td></tr>";

}}

},function (t, e) { alert("Error:" + e.message); }

);});

}

ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.

Отображение данных в виде таблце из БД

ⓒ 2016. Digital Media & Communications R&D Center. All rights reserved.