【问题标题】:how to store data come from server to database in phonegap如何将来自服务器的数据存储到phonegap中的数据库
【发布时间】:2025-12-13 03:20:04
【问题描述】:
function storeData() {
    $.ajax({
        url: "http://www.json-generator.com/j/bKQdCWJSKW?indent=4",
        type: "GET",
        accepts: "utf-8",
        dataType: "json",
        success: function (data) {
            var db = window.openDatabase("test", "1.0", "test", 1000000);
            db.transaction(function (tx) {
                tx.executeSql('CREATE TABLE IF NOT EXISTS SEARCHRESULT (id INTEGER PRIMARY KEY    AUTOINCREMENT,  data1,data2)');
                $.each(data.employe, function (ind, values) {
                    navigator.notification.alert("successful" + [values.firstName]);
                    tx.executeSql('INSERT INTO SEARCHRESULT (data1,data2) VALUES (?,?);', [values.firstName], [values.lastName]);
                });
            }, errorResult, successResultStoreData);
        }
    });
}

在上面的示例中,我从服务器获取数据,这是多条记录我正确获取数据但我无法存储在数据库中。如何解决这个问题?

【问题讨论】:

  • 声明不应该像tx.executeSql('INSERT INTO SEARCHRESULT (data1,data2) VALUES (?,?);', [values.firstName, values.lastName]);吗?
  • 您收到的错误信息是什么?
  • 很高兴它成功了。添加为答案 ;)

标签: javascript jquery json jquery-mobile cordova


【解决方案1】:

参数值应该以数组的形式提供,如

tx.executeSql('INSERT INTO SEARCHRESULT (data1,data2) VALUES (?,?);', 
              [values.firstName, values.lastName]);

问候。

【讨论】:

    【解决方案2】:

    您可以将整个对象放在本地存储中。

    window.localStorage.setItem(key, value);
    

    唯一不起作用的情况是您需要查询它。

    【讨论】:

      【解决方案3】:

      直接使用试试

      tx.executeSql('INSERT INTO SEARCHRESULT (data1,data2 ) VALUES ("' + values.firstName + '","' + values.lastName + '")');

      【讨论】: