如何从SQLite SELECT返回结果

How to return a result from a SQLite SELECT?

本文关键字:返回 结果 SELECT SQLite      更新时间:2023-09-26

我试图将结果从SQLite SELECT传递到var res并显示它,但在警报中我得到"未定义"。如何正确退货?

function read(key){
    app.db.transaction(function(tx) {
        tx.executeSql('SELECT value FROM MyTable WHERE key = ?',
            [key],
            function(tx, results)
            {
                return results.rows.item(0)['value']
            },                
            app.onError
        );
        return;
    });
    return;
}
res=read("pipi")
alert(res);

不能从异步函数返回值。您需要传递一个函数,该函数将与异步函数的结果一起执行,或者使用一个全局变量来保存结果。

res=read("pipi") // will always return undefined

可以声明全局变量和全局函数。

resultSelect = "";
function alertResultSelect(result){
    alert(result);
}

然后在你的function(tx, results)代码中添加

function(tx, results)
{
   //Assign the results to the global variable.
   resultSelect = results.rows.item(0)['value'];
   // OR call the global function
   alertResultSelect(results.rows.item(0)['value']);
}