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開発モードを使用してテーブルに新しい行が表示されます。
何かアドバイス?