Чтение информации от базы данных SQLite, синтаксис? Как использовать его в HTML5 WebApp?
-
30-09-2019 - |
Вопрос
У меня есть WebApp, которую я строю, и только что начал с SQLite. Я смог создать свою форму, откроющуюся базу данных, которую я создал, создайте таблицу, а поля, которые мне нужны и вводят данные в поля.
Теперь я пытаюсь прочитать данные обратно с помощью выбора оператора, чтобы показать его на экране и в виде списка столбцов. Я просто не знаю синтаксис для Select StaTemnt в JavaScript или HTML5, кроме
«Выбрать * от MyTable» ... Я знаю, что это можно сделать, просто нужна помощь с синтаксисом получения результатов на экран.
Я начинаю с этого.
var db = window.openDatabase('TabOrder', '', 'Bar Tab Orders', 2500000);
function insertDrinks(category, drinkname, our_cost, cust_cost){
db.transaction(function(tx){
tx.executeSql('INSERT INTO Drinks (category, drinkname, our_cost, cust_cost) VALUES (?, ?, ?, ?)', [category, drinkname, out_cost, cust_cost]);
});
}
$(document).ready(function() {
db.transaction(function(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS Drinks(id INTEGER PRIMARY KEY Autonumber, category TEXT, drinkname TEXT, our_cost FLOAT(6,2), cust_cost FLOAT(7,2))', []);
});
});
Я позже у этого ....
View Cat / Drink List
function readDrinks(id, category, drinkname, our_cost, cust_cost){
db.transaction(function(tx) {
tx.executeSql('SELECT * FROM Drinks', [id, category, drinkname, our_cost, cust_cost]);
});
document.write(id, category + " are the categories.");
}
Я просто пытался собрать его вместе, и понятия не имею, что я делаю с этим за пределы основного SQL.
Любая помощь очень ценится ... И это для клиентской боковой БД, ни одного подключения к сети.
Спасибо....
Решение
Видеть Спец и это Учебник Apple. Отказ Короче говоря, вам нужно добавить данные и обратные вызовы ошибок. Кроме того, вы должны проходить пустой массив (или NULL), потому что ваш запрос не имеет параметров.
db.transaction(function(tx) {
tx.executeSql('SELECT * FROM Drinks',
[],
function(tx, results)
{
// results is a http://dev.w3.org/html5/webdatabase/#sqlresultset .
// It has insertId, rowsAffected, and rows, which is
// essentially (not exactly) an array of arrays.
},
function(tx, error)
{
}
);
});
Это зависит от вас, следует ли использовать именованные или анонимные функции.
Редактировать: я сделал рабочую демонстрацию в http://jsfiddle.net/wcv6y/7/ Отказ Это проверено в Chrome 5.0.375.70.
Другие советы
попробуйте что-то вроде этого
tx.executeSql('SELECT * FROM foo', [], function (tx, results) {
var len = results.rows.length;
for (var i = 0; i < len; ++i) {
var obj = results.rows.item(i);
alert(obj);
}
});
Также увидеть это для короткого учебника http://html5doctor.com/introducing-web-sql-databases/