Pregunta

Tengo una aplicación web que estoy construyendo, y acaban de comenzar con SQLite. He sido capaz de crear mi forma, abrir la base de datos que he creado, crear la tabla y campos que necesito, y de introducir datos en los campos.

Ahora estoy tratando de leer de nuevo los datos con una instrucción SELECT, para mostrar en pantalla y como una lista de las columnas. Sólo que no sé la sintaxis para el statemnt SELECT en JavaScript o HTML5 allá

'SELECT * FROM MyTable' ... Sé que se puede hacer, sólo necesita un poco de ayuda con la sintaxis de conseguir los resultados en la pantalla.

Comienzo con esto.

   

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

Más tarde me tengo esto ....



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


Me acaba de intentar pieza juntos, y no tienen idea de lo que estoy haciendo con ello más allá del SQL básico.

Cualquier ayuda es muy apreciada ... y esto es por un lado del cliente DB, ni una sola conexión a la web.

Gracias ....

¿Fue útil?

Solución

la especificación y esto Apple tutorial . En resumen, es necesario agregar datos y devoluciones de llamada de error. Además, usted debe estar pasando una matriz vacía (o nula) debido a que su consulta no tiene parámetros.

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

                 }
   );
});

Es hasta usted si desea utilizar funciones con nombre o anónimos.

EDIT: Me hizo una demostración de trabajo en http://jsfiddle.net/WcV6Y/7/. Está probado en Chrome 5.0.375.70.

Otros consejos

intentar algo como esto

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

También ver esto por breve tutorial http://html5doctor.com/introducing-web-sql -databases /

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top