gpt4 book ai didi

html - 嵌套的 Sqlite 查询无法正常工作

转载 作者:搜寻专家 更新时间:2023-10-31 21:50:39 25 4
gpt4 key购买 nike

在此代码中,外部 sqlite 查询首先完成其工作,然后转到内部 sqlite 查询 请解释为什么会发生,并给出我的要求的解决方案。

/*Outer Sqlite Query*/
db.transaction(function(transaction){
transaction.executeSql('SELECT * FROM OuterTable;', [],
function(transaction,results){
if (results != null && results.rows != null) {
for (var i = 0; i < results.rows.length; i++) {
/*My work is going here*/

/*Inner Sqlite Query Inside lor loop*/
db.transaction(function(transaction){
transaction.executeSql('SELECT * FROM MyInnerTable;',[],
function(transaction, result){
if (result != null && result.rows != null) {
for (var j = 0; j < result.rows.length; j++) {
/* My Work is Going here */
}
}
},errorHandler);
} ,errorHandler,nullHandler);
/*Inner Sqlite End Here*/
}
}
},errorHandler);
}
,errorHandler,nullHandler);
/*Outer Sqlite End Here*/

问题就在这里
首先 ---> 外部 Sqlite 工作正在执行,然后内部 Sqlite 工作正在执行,但我的要求就像 对于 Outer Sqlite 的每个值,Inner Sqlite 将起作用

例如:--

for(int i=0;i<=10;i++){
for(int j=0;j<=10;j++){
// here inner for loop will work for every value of outer for loop

}
}

提前致谢

最佳答案

您要求对每个外部查询都执行内部查询无法像这样实现。由于 SELECT 查询是异步调用。

即使是外层的 for 循环也不会等待您在上一个索引处的查询完成。它将继续执行并同时触发 SELECT 查询。

但是,要实现这一点,您可以使用递归。

其中每个外层循环调用select查询,success回调实现内层查询,内层查询的success回调递归调用内层查询所需的次数和所需的索引并发布次数(内条件循环)它将调用具有递增索引的外部查询实现器。

希望对您有所帮助。

关于html - 嵌套的 Sqlite 查询无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17962933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com