我正在开发一个使用 HTML5 和 Web 数据库存储的应用程序。
我想在表中插入一行并返回使用以下方法创建的新 ID(表的主键):
function insertIntoTable(title, text, sketchFileName, categoryId)
{
var db = window.openDatabase('xxx', '1.0', 'xxx database', 5*1024*1024);
var returnedId = -1;
db.transaction(
function (tx) {
if (sketchFileName == '')
{
tx.executeSql('INSERT INTO TableXXX (title, content, created, categoryID) VALUES (?, ?, ?, ?)',
[title, text, Date.now(), categoryId],
function (transaction, resultSet) {
if (resultSet.rowsAffected) {
returnedId = resultSet.insertId;
}
}, handleSQLError);
}
}, handleSQLError);
);
return returnedId;
}
但我总是得到-1。我使用 Safari 开发模式在表中看到新行。
有什么建议吗?