Database.readTransaction()

Database.readTransaction() - створює транзакцію для Web SQL.

Синтаксис:

Database.readTransaction(functionTX, functionError); Database.readTransaction(functionTX(obSQLTransaction){}, functionError(obSQLError));

Параметри:

functionTX - функція яка виконується при виконанні транзакції. Функція приймає паметр obSQLTransaction - об'єкт SQLTransaction.

obSQLTransaction - параметр функції, об'єкт SQLTransaction.

functionError - функція яка викликається якщо виникла помилка під час транзакції.

obSQLError - об'єкт помилки SQLError який передається в якості параметру.

Опис:

readTransaction() метод об'єкту Database який створює транзакцію (групу послідовних операцій) для читання бази даних для Web SQL.

Метод transaction приймає в якості параметру функцію functionTX яка виконується під час транзакції.

Функція functionTX виконує запити до бази даних. Функція functionTX приймає параметр об'єкт SQLTransaction.

Якщо необхідні операції з базою даних для читання і запису тоді використовуйте метод transaction().

Приклад:

if(window.openDatabase){ var db = openDatabase("mydb","","test db", 2097152); //створюємо таблицю test, якщо її немає db.transaction(function(tx){ tx.executeSql('CREATE TABLE IF NOT EXISTS test(`id` INTEGER PRIMARY KEY, `name`, `text`);');}); db.readTransaction(function(tx){alert(tx);}); } else alert('Ваш браузер НЕ пітримує openDatabase.'); if(window.openDatabase){ var db = openDatabase("mydb","","test db", 2097152); // якщо нема таблиці test створюємо її db.transaction(function(tx){tx.executeSql('CREATE TABLE IF NOT EXISTS `test` (`id` INTEGER PRIMARY KEY, `name`, `text`);');}); db.readTransaction(function(tx){ tx.executeSql('SELECT count(id) AS "count" FROM `test`;',[],function(tx, res){ alert('кількість записів у БД : '+res.rows.item(0).count);}); },function(er){alert(er.message);}); } else alert('Ваш браузер НЕ пітримує openDatabase.');

Якщо виконати операцію к readTransaction для запису даних у БД виникає помилка:

if(window.openDatabase){ var db = openDatabase("mydb","","test db", 2097152); db.readTransaction(function(tx){ tx.executeSql('CREATE TABLE IF NOT EXISTS `test` (`id` INTEGER PRIMARY KEY, `name`, `text`);'); //Error could not prepare statement (23 not authorized) tx.executeSql('INSERT INTO `test` (`name`, `text`) VALUES ("приклад readTransaction","дата : '+Date()+'");'); },function(er){alert(er.message);}); } else alert('Ваш браузер НЕ пітримує openDatabase.');