Domanda

Ho una webapp che sto costruendo, e hanno appena iniziato con SQLite. Sono stato in grado di creare la mia forma, aprire il database che ho creato, creare la tabella, e campi ho bisogno, e immettere dati nei campi.

Ora sto cercando di leggere i dati sul retro con un'istruzione SELECT, per mostrare sullo schermo e come un elenco delle colonne. Io proprio non so la sintassi per la statemnt SELECT nella javascript o HTML5 oltre

'SELECT * FROM MyTable' ... so che può essere fatto, solo bisogno di aiuto con la sintassi di ottenere i risultati sullo schermo.

Comincio con questo.

   

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))', []);
  });
 });
 

seguito ho questo ....



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


Ho appena cercato di mettere insieme, e non hanno idea di cosa sto facendo con esso al di là della base SQL.

Ogni aiuto è molto apprezzato ... e questo è per un lato client DB, non uno si collega al web.

grazie ....

È stato utile?

Soluzione

il spec e questo Mela esercitazione . In breve, è necessario aggiungere i dati e le funzioni di callback di errore. Inoltre, si dovrebbe essere il passaggio di un array vuoto (o nullo) perché la query non ha parametri.

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

                 }
   );
});

E 'a voi se utilizzare le funzioni denominate o anonimi.

EDIT: ho fatto una demo funzionante a http://jsfiddle.net/WcV6Y/7/. E 'testato in Chrome 5.0.375.70.

Altri suggerimenti

provare qualcosa di simile

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

vedi anche questo per breve tutorial http://html5doctor.com/introducing-web-sql -databases /

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top