Javascript HTML5,SQLite事务问题
在我的HTML5中,我有一个for循环,它调用一个函数插入数据库。我需要这个函数在单个事务中Javascript HTML5,SQLite事务问题,javascript,sqlite,transactions,cordova,Javascript,Sqlite,Transactions,Cordova,在我的HTML5中,我有一个for循环,它调用一个函数插入数据库。我需要这个函数在单个事务中 function Ins(id){ db.transaction(function(tx){ tx.executeSql('insert into Product(id) values(?);', [iName], function() {}, function() { }); }); } for循环 db.transaction(function(tx){tx.executeSql("BE
function Ins(id){
db.transaction(function(tx){
tx.executeSql('insert into Product(id) values(?);', [iName], function() {}, function() { });
});
}
for循环
db.transaction(function(tx){tx.executeSql("BEGIN",[]);});
for (intCountLine=1;intCountLine<=1000;intCountLine++)
{
Ins(intCount);
}
db.transaction(function(tx){tx.executeSql("COMMIT",[]);});
db.transaction(函数(tx){tx.executeSql(“BEGIN”,[]);});
对于(intCountLine=1;intCountLine可能有效。使用insert select union all
而不是创建1000条insert语句。但一次只能插入500行。这是我编写的代码,在Google chrome上进行测试,我确信它有效
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
var msg;
var j=1;
var i=1;
var quer="";
db.transaction(function(tx){tx.executeSql("CREATE TABLE IF NOT EXISTS LOGS (ID INTEGER PRIMARY KEY ASC, todo TEXT)",[]);});
db.transaction(function(tx){tx.executeSql("delete from logs",[]);});
txquer();
showMsg();
function txquer()
{
quer="insert into logs ";
for(i=j;i<=j+498;i++)
{
quer+=" select "+i+",'test' union all";
}
quer+=" select "+i+",'test' ; ";
j=i+1;
db.transaction(
function(tx){
tx.executeSql(quer,[]);
}
);
}
function showMsg(){
db.transaction(function (tx) {
tx.executeSql('SELECT count(*) todo FROM LOGS', [], function (tx, results) {
var len = results.rows.item(0).todo;
msg = "<p>Found rows: " + len + "</p>";
document.querySelector('#status').innerHTML += msg;
}, null);
});
var db=openDatabase('mydb','1.0','testdb',2*1024*1024);
var-msg;
var j=1;
var i=1;
var query=“”;
事务(函数(tx){tx.executeSql(“如果不存在创建表日志(ID整型主键ASC,todo TEXT)”,[]);};
事务(函数(tx){tx.executeSql(“从日志中删除”,[]);});
txquery();
showMsg();
函数txquery()
{
query=“插入日志”;
对于(i=j;i