[英]I get “new transaction is queued, waiting for open operation to finish” when I use cordova SQLite
我刚开始学习 SQLite 并且我只使用没有 Ionic 的 cordova 并且我试图理解为什么我得到控制台返回:“新事务已排队,等待打开操作完成”当我尝试对数据库执行某些操作时
$(document).ready(function(){
var myDB;
//Open Database Connection
document.addEventListener("deviceready",onDeviceReady,false);
function onDeviceReady(){
myDB = window.sqlitePlugin.openDatabase({name: "mySQLite.db", location: 'default'});
}
//Create new table
$("#createTable").click(function(){
myDB.transaction(function(transaction) {
transaction.executeSql('CREATE TABLE IF NOT EXISTS phonegap_pro (id integer primary key, title text, desc text)', [],
function(tx, result) {
alert("Table created successfully");
},
function(error) {
alert("Error occurred while creating the table.");
});
});
});
//Insert New Data
$("#insert").click(function(){
var title="Hello";
var desc="World";
console.log(title +""+ desc);
myDB.transaction(function(transaction) {
var executeQuery = "INSERT INTO phonegap_pro (title, desc) VALUES (?,?)";
transaction.executeSql(executeQuery, [title,desc]
, function(tx, result) {
alert('Inserted');
},
function(error){
alert('Error occurred');
});
});
});
//Display Table Data
$("#showTable").click(function(){
$("#TableData").html("");
myDB.transaction(function(transaction) {
transaction.executeSql('SELECT * FROM phonegap_pro', [], function (tx, results) {
var len = results.rows.length, i;
$("#rowCount").html(len);
for (i = 0; i < len; i++){
$("#TableData").append("<tr><td>"+results.rows.item(i).id+"</td><td>"+results.rows.item(i).title+"</td><td>"+results.rows.item(i).desc+"</td><td><a href='edit.html?id="+results.rows.item(i).id+"&title="+results.rows.item(i).title+"&desc="+results.rows.item(i).desc+"'>Edit</a> <a class='delete' href='#' id='"+results.rows.item(i).id+"'>Delete</a></td></tr>");
}
}, null);
});
});
});
问题是我在浏览器中测试它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.