在sqlite javascript中的Cordova商店数组

时间:2013-10-13 12:52:30

标签: 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(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时出错:未定义'。

1 个答案:

答案 0 :(得分:0)

我想你必须引用字符串:

 tx.executeSql('INSERT INTO DATABASE (id, data) VALUES (1, \''+JSONstring+'\')');

提供JSONstring本身不包含任何引号,否则您需要将它们加倍(http://www.sqlite.org/faq.html#q14)。