我正在尝试使用SQLlite插入数据库。
我有以下代码:
function storeUserStatus(s) {
console.log("STATUS");
db.transaction(function(tx) {
tx.executeSql("INSERT INTO calculator (leadership, status, wealth, social, random, control) VALUES (?, ?, ?, ?, ?, ?)", [s[0], s[1], s[2], s[3], s[4], s[5]], function(success) {
console.log(success);
}),
function(err) {
console.log(err);
};
});
}
s是一个只包含数值(负数和正数)的数组,成功回调是执行回调。
为什么不插入?我稍后尝试进行查询,查询没有找到任何结果。
我用来获取数据的查询(没有返回任何内容)是这样的:
db.transaction(function(tx) {
tx.executeSql('SELECT id FROM calculator ORDER BY id DESC LIMIT 1' ...
为什么我没有得到任何结果集?
我的表格创建如下:
function populateDB(tx) {
//Create the table
tx.executeSql('CREATE TABLE IF NOT EXISTS calculator (id INTEGER NOT NULL PRIMARY KEY \
leadership UNSIGNED INTEGER, status UNSIGNED INTEGER, wealth UNSIGNED INTEGER, \
social UNSIGNED INTEGER, random UNSIGNED INTEGER, control UNSIGNED INTEGER) \
'
);
}
当我查看select的结果时:
console.log(results.rows.item);
现在我明白了:
function item() { [native code] }
但
console.log(results.rows.item[0]);
未定义,它表示rowsAffected:0