قراءة المعلومات من قاعدة بيانات 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 الأساسي.
أي مساعدة موضع تقدير كبير ... وهذا هو DB على جانب العميل ، وليس واحد متصل بالويب.
شكرًا....
المحلول
نرى المواصفات وهذا تعليمي Apple. باختصار ، تحتاج إلى إضافة بيانات عاتق البيانات والخطأ. أيضًا ، يجب أن تمرر صفيفًا فارغًا (أو لاغية) لأن استعلامك لا يحتوي على معلمات.
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/