Использование базы данных в приложениях Tizen

Содержание

Слайд 2

Слайд 3

SQLite — это встраиваемая кроссплатформенная БД, которая поддерживает достаточно полный набор

SQLite — это встраиваемая кроссплатформенная БД, которая поддерживает достаточно полный набор

команд SQL и доступна в исходных кодах (на языке C). 

Что такое SQLite?

Слайд 4

Насколько SQLite популярна? Кратко: она везде. Как минимум, на любом смартфоне.

Насколько SQLite популярна?
Кратко: она везде. Как минимум, на любом смартфоне.
Насколько она

надежна?
При выпуске версии она проходит через ряд серьезнейших автоматических тестов (проводится ~ 2 млн тестов), покрытие кода тестами 100% (с августа 2009). 

SQLite

Слайд 5

SQLite не использует парадигму клиент-сервер, то есть движок SQLite не является

SQLite не использует парадигму клиент-сервер, то есть движок SQLite не является отдельно

работающим процессом, с которым взаимодействует программа, а предоставляет библиотеку, с которой программа компонуется и движок становится составной частью программы.

Дизайн

Слайд 6

Такой подход уменьшает накладные расходы, время отклика и упрощает программу. SQLite

Такой подход уменьшает накладные расходы, время отклика и упрощает программу. SQLite хранит

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

Дизайн

Слайд 7

Сама библиотека SQLite написана на C; существует большое количество привязок к

Сама библиотека SQLite написана на C; существует большое количество привязок к

другим языкам программирования, в том числе Delphi, C++, Java, C#, VB.NET, Python, Perl, PHP, а также ко многим другим.
Простота и удобство встраивания SQLite привели к тому, что библиотека используется в браузерах, музыкальных плеерах и многих других программах.

Использование

Слайд 8

Задача

Задача

Слайд 9

Порядок работы: 1. OpenDatabase – подключаемся к БД 2. Transaction –

Порядок работы:
1. OpenDatabase – подключаемся к БД
2. Transaction – открываем

транзакцию
3. executeSql – выполняем SQL запрос

СУБД WebSQL

Слайд 10

var db; //версия бд var version = 1.0; //имя бд var

var db;
//версия бд
var version = 1.0;
//имя бд

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

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

Слайд 11

function startDB() { if (window.openDatabase) { //openDatabase(name, version, displayname, estimatedsize, callback);

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");
}
}

Открытие БД

Слайд 12

// создаем таблицу function createTable(db) { db.transaction(function (t) { t.executeSql("CREATE TABLE

// создаем таблицу
function createTable(db) {
db.transaction(function (t) {
t.executeSql("CREATE TABLE

Products (id INTEGER PRIMARY KEY, product TEXT, category TEXT, cost CHAR)", []);
});
}

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

Слайд 13

function insertData(db, product, category, cost) { db.transaction(function (e) { e.executeSql("INSERT INTO

function insertData(db, product, category, cost) {
db.transaction(function (e) {
e.executeSql("INSERT INTO

Products(product, category, cost)
VALUES (?, ?, ?)", [product, category, cost], onSuccess, onError);
});
}

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

Слайд 14

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

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) { }

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

Слайд 15

// удалить таблицу целиком function dropTable(db) { db.transaction(function (e) { e.executeSql("DROP

// удалить таблицу целиком
function dropTable(db) {
db.transaction(function (e) {
e.executeSql("DROP

TABLE Products");
});
}

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

Слайд 16

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

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

e.executeSql("DELETE FROM Products WHERE id=?", [id], onSuccess, onError);
});
}

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

Слайд 17

//очистить таблицу function deleteTable(db) { db.transaction(function (e) { e.executeSql("DELETE FROM Products"); }); } Очистка таблиц

//очистить таблицу
function deleteTable(db) {
db.transaction(function (e) {
e.executeSql("DELETE FROM Products");


});
}

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

Слайд 18

function selectDB() { if (window.openDatabase) { //openDatabase(name, version, displayname, estimatedsize, callback);

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");
}
}

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

Слайд 19

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

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;

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

Слайд 20

if (html) { html.innerHTML += " " + id + "

if (html) {
html.innerHTML += "" + id + "" +

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

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

Слайд 21

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

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