【发布时间】:2014-01-30 23:09:16
【问题描述】:
我开始为 PhoneGap 应用程序使用 SQLite 和 Javascript,这里的事情是我正在使用 Web 服务并向本地 sqlite 数据库添加行。在这种情况下,我要插入的项目长度正好是1016,但它只插入少于100,并且“由于约束失败(19约束失败)而无法执行语句”不断出现。
这是代码的一部分:
function onSuccessCustomers(data){
alert("CLIENTES: " + data.length);
$.each(data, function(i, item) {
database.executeQuery("INSERT INTO cliente1 (codcli) VALUES ('" + item.CODCLI + "')");
});
}
这里的警报显示“CLIENTES:1016”,这是正确的!,foreach 也持续了 1016 次。但是当我检查表格时,只插入了几行。
这里是 executeQuery 函数:
function executeQuery (query) {
var deferred = $.Deferred();
getInstance().transaction(function(tx) {
tx.executeSql(query, [], function(tx, r) {
deferred.resolve(r);
}, function(tx, e) {
alert(e.message);
deferred.fail(e);
});
});
return deferred.promise();
};
这是消息显示的时间。有什么想法吗??
【问题讨论】:
-
该表上定义了哪些约束?
标签: javascript sqlite cordova insert