gpt4 book ai didi

javascript - Cordova Sqlite 插件插入带有空值的条目

转载 作者:行者123 更新时间:2023-11-27 22:55:52 25 4
gpt4 key购买 nike

我正在实现 Cordova Sqlite plugin在 Ionic 项目中,到目前为止,我已经能够创建数据库和表,并按照 ngCordova implementation 提供的功能进行查询。 .

我注意到有一个可用的 insertCollection 函数,我尝试测试它,我向它传递了一个数组,即使进行了插入,条目也是空的。

这是我的示例表定义:

CREATE TABLE IF NOT EXISTS people (id integer primary key, firstname text, lastname text)

我填充了这样的数组:

for(var i = 0; i < 250000; i++){
var index = i + 1;
firstname = firstname + ' ' + index;
var entry = {
'firstname' : firstname,
'lastname' : lastname
};
$scope.insertArray.push(entry);
}

然后像这样插入:

$cordovaSQLite.insertCollection($rootScope.db, $scope.insertQuery, $scope.insertArray).then(function(res) {
console.log(res);
}, function (err) {
console.error(err);
});

其中 insertQuery 如下:

INSERT INTO people (firstname, lastname) VALUES (?,?)

我做了这样的选择:

  $scope.select = function() {
$scope.results = [];
var query = "SELECT firstname, lastname FROM people";
$cordovaSQLite.execute($rootScope.db, query).then(function(res) {
if(res.rows.length > 0) {
console.log('select was successful ' + res.rows.length + ' entries');

for(var i = 0; i < $scope.maxItemsToShow; i++){
$scope.results.push(res.rows.item(i));
}

} else {
console.log("No results found");
}
}, function (err) {
console.error(err);
});
}

我尝试在 ion-list 上显示结果,但所有项目的名字和姓氏中的值均为空。

是什么导致了这个问题?

最佳答案

函数insertCollection需要一个数组的数组,而不是一个记录的数组。内部数组必须包含要按照问号(作为值的占位符)在 sql 语句中出现的顺序插入的值。

所以你需要写:

for(var i = 0; i < 250000; i++){
var index = i + 1;
firstname = firstname + ' ' + index;
var entry = [firstname, lastname];
$scope.insertArray.push(entry);
}

关于javascript - Cordova Sqlite 插件插入带有空值的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37619816/

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