Показать сообщение отдельно
  #5 (permalink)  
Старый 16.05.2014, 12:06
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Я никогда с WebSQL особо не работал, но насколько я понимаю просто селектом оно данные в массиве не обновит. Придется либо циклом перебирать и заменять соответствующие элементы, либо делать новый массив из выборки и заменять им старый. Как-то так:
<!DOCTYPE HTML>
<html>
  <head>
  <meta charset="utf-8">
  </head>
  <body>

<script>
var data = [];
var db = openDatabase('mydb', '1.0', 'test', 20000);
db.transaction(function (tx) {
   tx.executeSql('CREATE TABLE IF NOT EXISTS TableName (id unique, year, value)');
   tx.executeSql('INSERT INTO TableName (id, year, value) VALUES (1, "2013-11-15", "11")');
   tx.executeSql('INSERT INTO TableName (id, year, value) VALUES (2, "2013-10-24", "22")');
   tx.executeSql('INSERT INTO TableName (id, year, value) VALUES (3, "2013-12-17", "33")');
});
db.transaction(function (tx) {
   tx.executeSql('SELECT * FROM TableName', [], function (tx, results) {
   var len = results.rows.length;
   for (var i = 0; i < len; i++) {
      var tmpObj = {
        year: results.rows.item(i).year,
        value: results.rows.item(i).value
      };
      data.push(tmpObj);
   }

   alert(JSON.stringify(data,'',2));
 }, null);
});
</script>

  </body>
</html>
Ответить с цитированием