2011-07-27 14 views
1

iPhone用のアプリケーションを開発していますが、JavaScriptを記述しています。私はいくつかの情報(IDとアイテムの名前)をローカルデータベースに保存しています。私はそれを使用できるようにその情報を元に戻す必要があります。残念ながら、データベースは私には未定義の値を返しますが、return文の前に値を警告すれば正しく取得されます。私のコードは以下の通りです:SQLite文から選択した値を返す方法は?

function DB() { 
    myDatabase.transaction(function (transaction) { 
     transaction.executeSql("SELECT * FROM myTable WHERE id = ?", [idNum], 

      function (transaction, resultSet) { 
       var i = 0; 
       var currentRow = resultSet.rows.item(i); 
       return currentRow.name; 
      }, 

      function (transaction, error) { 
       alert('error:' + error.message); 
      } 
     ); 
    }) 
} 

私は間違っていますか?

+0

[Webkit executeSqlトランザクションを取得して値を返す]の複製可能性(http://stackoverflow.com/questions/740523/getting-a-webkit-executesql-transaction-to-return-a-value) – JamesRLamar

答えて

0

使用しているトランザクションメソッドは値を返しません。その代わりに結果関数に渡します。結果関数から結果を返すことは何もしません。結果関数内で照会の結果を使用する必要があります。

0

データがデータベースに存在していますか?

これですべてを保存する必要がある場合は、localStorageを使用する方がよい場合があります。

http://diveintohtml5.ep.io/storage.html

+0

I return文の上にアラートを置くと(説明に追加したように)データベースに情報を格納していることを確認します。アイテムの正しい値を取得します... – tasanoui

関連する問題