sqlite javascript中的Cordova存储阵列
我尝试在iPhone上使用cordova 3.1.0在SQLite中存储一个数组。我尝试存储的数组是由json编码的,位于外部服务器上的php文件中。当我在手机上获得编码数组时,我尝试将其存储在SQLite中sqlite javascript中的Cordova存储阵列,javascript,ios,arrays,sqlite,cordova-3,Javascript,Ios,Arrays,Sqlite,Cordova 3,我尝试在iPhone上使用cordova 3.1.0在SQLite中存储一个数组。我尝试存储的数组是由json编码的,位于外部服务器上的php文件中。当我在手机上获得编码数组时,我尝试将其存储在SQLite中 var JSONstring = data; var db = window.openDatabase('DATABASE', "1.0", 'DATABASE', 1000000); db.transaction(
var JSONstring = data;
var db = window.openDatabase('DATABASE', "1.0", 'DATABASE', 1000000);
db.transaction(populateDB, errorCB, successCB);
function populateDB(tx) {
tx.executeSql('DROP TABLE IF EXISTS DATABASE');
tx.executeSql('CREATE TABLE IF NOT EXISTS DATABASE (id unique, data)');
tx.executeSql('INSERT INTO DATABASE (id, data) VALUES (1, '+JSONstring+')');
}
function errorCB(tx, err) {
alert("Error processing SQL: "+err);
}
function successCB() {
alert("success!");
}
var JSONstring是我从服务器获得的编码数组。但出于某种原因,我的iphone会说“错误处理SQL:未定义” 我想你必须引用字符串:
tx.executeSql('INSERT INTO DATABASE (id, data) VALUES (1, \''+JSONstring+'\')');
提供的
JSONstring
本身不包含任何引号,否则您需要将它们加倍()。JSONstring是数组位于it@MeQube:sqlite不关心它是什么-它只看到一个字符串,所有字符串都必须被引用。但是在这种代码形式中如何使用它呢?tx.executeSql('插入'+element+'-'+week+'(id,数据)值(1,\''+JSONstring+'\'));