Проблема с обновлением WebDb - PullRequest
1 голос
/ 29 мая 2011

у меня есть этот код для моей webdb, я пытаюсь удалить элемент и установить порядок для другого, но он меняет только последний элемент.

for (var i=ordine2; i < lunghezza-1+ordine2; i++) {
    var db = miodb.webdb.db;
    var ordine3=ordine2+i+1;
    var ordine4=ordine2+i;
       db.transaction(function(tx){
        tx.executeSql("UPDATE todo SET ordine = " + "'" + ordine4 + "'" + " WHERE ordine=?", [ordine3],      
            miodb.webdb.onSuccess, 
            miodb.webdb.onError);
        });
      }

это моя таблица: id |содержание |заказ

1 |0 |0 |

2 |1 |1 |

3 |2 |2 |

4 |3 |3 |

5 |4 |4 |

6 |5 |5 |

Если я удаляю первый элемент, я хочу, чтобы все остальные элементы меняли порядок на текущий порядок -1, но это не работает, только последний элемент меняет порядок, ordine2 устанавливается в 0lunghezza - длина массива.Кто я могу это исправить?

1 Ответ

0 голосов
/ 29 мая 2011

Вам не нужен цикл для этого вообще.А как насчет следующего обновления?

UPDATE todo SET ordine = ordine - 1

Возможно, вам понадобится добавить соответствующее предложение where, что-то вроде "WHERE ordine> ordine2".Я не до конца понимаю, что вы пытаетесь сделать, поэтому я не могу дать вам точный код.

Кроме того, вам вообще не следует использовать конкатенацию строк при создании оператора SQL, использовать ?для каждого параметра и поместите их в массив, как вы это сделали для ordine3, чтобы вы знали, что они будут правильно экранированы.

...