2010-03-25 101 views
4

我想了解openDatabase,我想我得到它插入到TABLE1,但我無法驗證SELECT * FROM TABLE1正在工作。openDatabase你好世界

<html> 
<head> 
<script src="http://www.google.com/jsapi"></script> 
<script type="text/javascript"> 
google.load("jquery", "1"); 
</script> 
<script type="text/javascript"> 
var db; 

$(function(){ 
    db = openDatabase('HelloWorld'); 

    db.transaction(
     function(transaction) { 
      transaction.executeSql(
       'CREATE TABLE IF NOT EXISTS Table1 ' + 
       ' (TableID INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, ' + 
       ' Field1 TEXT NOT NULL);' 
      ); 
     } 
    ); 

    db.transaction(
     function(transaction) { 
      transaction.executeSql(
       'SELECT * FROM Table1;',function (transaction, result) { 
        for (var i=0; i < result.rows.length; i++) { 
      alert('1'); 
         $('body').append(result.rows.item(i)); 
        } 
       }, 
       errorHandler 
      ); 
     } 
    ); 

    $('form').submit(function() { 
     var xxx = $('#xxx').val(); 
     db.transaction(
      function(transaction) { 
       transaction.executeSql(
       'INSERT INTO Table1 (Field1) VALUES (?);', [xxx], function(){ 
        alert('Saved!'); 
       }, 
       errorHandler 
       ); 
      } 
     ); 
     return false; 
    }); 
}); 

function errorHandler(transaction, error) { 
    alert('Oops. Error was '+error.message+' (Code '+error.code+')'); 
    transaction.executeSql('INSERT INTO errors (code, message) VALUES (?, ?);', 
    [error.code, error.message]); 
    return false; 
} 
</script> 
</head> 
<body> 
<form method="post"> 
    <input name="xxx" id="xxx" /> 
    <p> 
    <input type="submit" name="OK" /> 
    </p> 
    <a href="http://www.google.com">Cancel</a> 
</form> 
</body> 
</html> 

回答

5

你幾乎沒有,只有兩件事情:如果你想使用SQL語句回調,你應該提供給executeSql方法的參數數組參數

  1. 的,即使你的查詢不需要任何參數。
  2. 您應該得到一個字段以顯示在您的循環中,result.rows.item(i)是一個包含屬性作爲表字段的對象。

你的選擇會像這樣:

db.transaction(function(transaction) { 
    transaction.executeSql('SELECT * FROM Table1',[], function (trx, result) { 
    for (var i=0; i < result.rows.length; i++) { 
     $('body').append(result.rows.item(i).Field1); // <-- getting Field1 value 
    } 
    }, errorHandler); 
}); 

檢查您的例子here

+0

謝謝你好多基督徒! –

+0

不客氣Phillip,很高興幫助! – CMS