gpt4 book ai didi

javascript - 如何在SQLite事务(webkit浏览器本地数据库)中使用变量?

转载 作者:行者123 更新时间:2023-11-28 10:27:22 24 4
gpt4 key购买 nike

所以我有一个数组,其中包含来自文本字段的值的变量

var data = [name, address, city, country];

然后是命令

transaction.executeSql("INSERT INTO Customer(name, address, city, country) VALUES (?, ?, ?, ?)", [data[0], data[1], data[2], data[3]]);

它工作正常,但在真实的数据库中,我有大约 50 个字段,如果我需要添加例如三个字段,我必须添加三个问号、三个数据 [n] 等等,这很容易出错,所以我想我会在循环中创建它。

我有数组:

var data = [name, address, city, country];

循环:

var columns = "";
var questionMarks = "";
for (var i = 0; i < data.length; i++) {
columns += "data[" + i + "], ";
questionMarks += "?, ";
}

columns = columns.slice(0, -2);
questionMarks = questionMarks.slice(0, -2);
columns = "[" + columns + "]";

我可以在命令中使用问号,例如:

transaction.executeSql("INSERT INTO Customer(name, address, city, country) VALUES (" + questionMarks + ")", [data[0], data[1], data[2], data[3]]);

但是当我尝试使用列时它不起作用

transaction.executeSql("INSERT INTO Customer(name, address, city, country) VALUES (" + questionMarks + ")", columns);

也尝试过

transaction.executeSql("INSERT INTO Customer(name, address, city, country) VALUES (" + questionMarks + ")", + columns);

我做了 document.write(columns) ,它看起来与

完全相同
[data[0], data[1], data[2], data[3]]

我对列做错了什么?

提前致谢

我猜 QuestionMarks 可以工作,因为它是一个字符串,但 data[n] 值不是其中的一部分。

最佳答案

你可以不去吗?标记路线并构建要运行的确切 SQL。您不必使用该技术。只需构建您想要运行的确切 SQL 字符串

var data="name='fred',address='90210',city='city',country='country'";
transaction.executeSql("INSERT INTO Customer(name, address, city, country) VALUES (" + data + ")", {}]);

但是动态构建数据字符串。

关于javascript - 如何在SQLite事务(webkit浏览器本地数据库)中使用变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3993513/

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