我正在尝试将一些长文本导入到SQLite表中,但我遇到了以下问题。
我使用波纹管代码来读取存储在测试数据库中的长文本。
var mycollectoridlength = 0, mybill, line = 0;
notesdb.transaction(function(t) {
t.executeSql('SELECT * FROM billtest;', [], function(t, bulkdata){
mybill = bulkdata.rows.item(0);
然后遍历长文本并尝试将其中的一些部分插入到另一个数据库中。
for (i = 1; i <= ((mybill.testtext.length)/126); i += 1) {
alert(line) // alerts 1, 126, 252 ...
t.executeSql('INSERT OR IGNORE into buildings (buildingcode, buildingaddress, buildingcollect, buildingpay) VALUES (?,?,?,?);',
[mybill.testtext.substr((line+0), 5).trim(), mybill.testtext.substr((line+44), 40).trim(), 0, 0], function(){
alert(line) // alerts 10962 (87 * 126)
});
line = i * 126;
}
但是executeSql中的行与循环不同步。循环后执行SQLite插入。我该如何解决?