事件单击时没有运行数据库

时间:2013-05-14 14:43:29

标签: javascript sqlite cordova

此代码正常运作。

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('Неудача');} )
};

为什么?

1 个答案:

答案 0 :(得分:2)

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

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