2

我有一个正在构建的 web 应用程序,并且刚刚开始使用 SQLite。我已经能够创建我的表单,打开我创建的数据库,创建我需要的表和字段,并将数据输入到字段中。

现在我正在尝试使用 SELECT 语句将数据读回,以将其显示在屏幕上并作为列列表显示。我只是不知道javascript或HTML5以外的SELECT语句的语法

'SELECT * FROM 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 之外,我不知道我在用它做什么。

非常感谢任何帮助......这是针对客户端数据库的,而不是连接到网络的。

谢谢....

4

2 回答 2

3

请参阅规范和本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 中进行了测试。

于 2010-06-25T23:31:02.663 回答
2

尝试这样的事情

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/

于 2011-03-31T18:42:24.753 回答