0

此代码正在运行。

tx.executeSql('INSERT INTO Routes (id_object) VALUES (4)'); 
tx.executeSql("SELECT * FROM Routes", [], function (tx, result) 
{ alert(result.rows.item(0)['id_object']) },
function (tx, error) {alert('Неудача');} )};

但这不起作用。我添加了点击事件。

 <button id = "click2">Добавить в БД</button>

function querySuccess(tx, results) 
{
 $('#click2').click(addObject);

function addObject(tt){

tt.executeSql('INSERT INTO Routes (id_object) VALUES (4)'); 
tt.executeSql("SELECT * FROM Routes", [], 
function (tt, result) { alert(result.rows.item(0)['id_object']) },
function (tt, error) {alert('Неудача');} )
};

这是为什么?

4

1 回答 1

2

事务在函数返回tx后不久关闭。querySuccess处理程序将click在很久以后执行,当它没有有效的事务时。

您必须在click处理程序中创建一个新事务。

于 2013-05-14T19:30:10.300 回答