gpt4 book ai didi

javascript - 如何在 Cordova 中从一个 Js 访问一个 Sql lite 变量到另一个 Js

转载 作者:IT王子 更新时间:2023-10-29 06:26:35 25 4
gpt4 key购买 nike

您好,我在我的项目中实现了一个 SqlLite,我正在 Login.js 中创建数据库,但我的问题是现在我需要从另一个 JS 更新列。如何从另一个 JS 访问 DB 变量。代码 A.js:

function onDeviceReady() {
window.db = window.openDatabase("SP_DB", "1.0", "SPDB", 200000);
};

现在我需要从另一个 JS 访问 window.db 以添加或更新列。如何实现这一点

代码 B.js:在这里我需要访问那个 window.db 变量,我不想再次创建数据库。

var saveimg = document.getElementById("saveimg");
saveimg.addEventListener('click', goInsert, false);


function goInsert() {

window.db.transaction(insertDB, errorCB, successCB);
}

function insertDB(tx) {

tx.executeSql('INSERT INTO SP(FirstName,LastName,Address) VALUES ("' + document.getElementById("txtFirstName").value + '","'
+ document.getElementById("txtLastName").value + '","' + document.getElementById("txtAddress").value + '")');

}


function errorCB(err) {
alert("Error processing SQL: " + err.code);
}


function successCB() {
alert("success!");
db.transaction(queryDB, errorCB);
}


function queryDB(tx) {
tx.executeSql('SELECT * FROM SP', [], querySuccess, errorCB);
}

最佳答案

您的变量 window.db 在全局范围内。因此,您可以在定义它的同一页面内的任何位置访问它。我希望您提到的“另一个 JS”在同一页面中。如果它在不同的页面中,它将不起作用。

Cordova应用应该采用SPA(Single Page Application)设计。如果您不使用 SPA,则需要在每个页面中定义所需的变量。请查看https://cordova.apache.org/docs/en/latest/guide/next/#1-spa-is-your-friend

关于javascript - 如何在 Cordova 中从一个 Js 访问一个 Sql lite 变量到另一个 Js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39747794/

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