2013-11-24 5 views
0

Im совершенно новый для этого ориентированного на объект программирования Java-скриптов.Как получить идентификатор, сгенерированный при вставке на веб-сайте sql

html5rocks.webdb.insertuser = function(username){ 
    var db = html5rocks.webdb.db; 
    var id; 
    db.transaction(function(tx){ 
     var addedOn = new Date(); 
     tx.executeSql("INSERT INTO user(name) VALUES (?)", 
      [username], 
      html5rocks.webdb.onSuccess, 
      html5rocks.webdb.onError); 
    }); 
} 

вот мой код, который я получил, следуя хороший учебник по http://www.html5rocks.com/en/tutorials/webdatabase/todo/

Теперь вещь я понял, это «OnSuccess» называется в качестве обратного вызова. Поэтому, если я хочу получить значение как возвращаемый параметр всей функции, мне нужно использовать какую-то блокировку. Я хотел бы знать, как получить возвращаемое значение идентификатора вставки

ответ

1

Большинство таблиц db с автогенерированным столбцом идентификаторов для идентификации каждой строки. Хорошо, когда вы выполните вставку, чтобы вернуть это значение, чтобы вы могли назначить его вашему объекту в памяти. Оказывается, это очень просто:

db = openDatabase(db_name, ‘1.0’, options.description, size); 

db.transaction(function(tx) { 
    tx.executeSql(“insert into posts (title) VALUES (‘Hear the news’)”, [], function(tx, sql_res) { 
    var lastInsertId = sql_res.insertId; 
    }); 
}); 

Источник:http://scottpersinger.com/post/9638490944/html5-web-database-get-the-last-insert-id

+0

Вы можете сделать это, чтобы быть функцией JS. Я знаю, что его можно установить в переменную. Но мне нужно, чтобы целая функция была заблокирована до тех пор, пока не поступит обратный вызов. – dinesh707

+0

Извините, не забудьте понять, что вы имеете в виду. Вы можете это объяснить? – Clickbeetle

+0

значение insertId = insertUser ("abc"); Мне нужно получить такую ​​ценность. Поэтому, если вы можете показать мне, как создать такую ​​функцию, это великолепно. Tx – dinesh707

Смежные вопросы