0

我尝试在我的 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 时出错:未定义”。

4

1 回答 1

0

我想你必须引用字符串:

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

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

于 2013-10-13T13:03:06.333 回答