SQLiteデータベースから情報を読む、構文? HTML5 WebAppで使用するにはどうすればよいですか?

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

質問

私は私が構築しているWebAppを持っていて、SQLiteから始めたばかりです。フォームを作成し、作成したデータベースを開き、必要なテーブルとフィールドを作成し、フィールドにデータを入力することができました。

今、私は選択されたステートメントでデータを読み返し、画面に表示し、列のリストとして表示しようとしています。 JavaScriptまたはHTML5を超えてSelect Statemntの構文を知りません

'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を超えて私がそれで何をしているのか分かりません。

どんな助けも大歓迎です...そして、これはクライアント側DBのためであり、Webに接続するものではありません。

ありがとう....

役に立ちましたか?

解決

見る 仕様 この 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でテストされています。

他のヒント

このようなことを試してみてください

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-database/

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top