قراءة المعلومات من قاعدة بيانات SQLite ، بناء الجملة؟ كيف يمكنني استخدامه في HTML5 WebApp؟

StackOverflow https://stackoverflow.com/questions/3122057

سؤال

لديّ 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/

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top