我是钛合金和合金的新手,但使用大约3个月后我感觉很舒服。然而,我对合金中的模型非常陌生,我遇到了一个我无法弄清楚的错误。以下是我的模型和控制器设置的方式(不包括与.XML文件无关的视图)钛合金模型 - 表没有列
Orders.js |型号
exports.definition = {
config : {
columns : {
"id_Orders" : "INTEGER PRIMARY KEY AUTOINCREMENT",
"reseller_name" : "TEXT",
"reseller_invoice_account" : "TEXT"
},
adapter : {
type : "sql",
collection_name : "orders",
idAttribute: "id_Orders"
}
}
Orders.js |控制器
var network = require("network");
network.soapRequest("<prem:getResellersRequest/>", function(a) {
Ti.API.info("The Soap Server Returned: " + JSON.stringify(a));
Ti.API.info("There are " + a.reseller_name.length + " returned records.");
for (var i = 0; a.reseller_name.length > i; i++) {
var listModel = Alloy.createModel("orders", {
reseller_name: a.reseller_name[i],
reseller_invoice_account: a.reseller_invoice_account[i]
});
listModel.save();
Alloy.Collections.orders.fetch();
}
});
Alloy.Collections.orders.fetch();
在listModel.save会出现错误()行:
错误执行SQL:表订单没有名为RESELLER_NAME柱:,在编译:REPLACE INTO订单(id_Orders,RESELLER_NAME, reseller_invoice_account)VALUES(?,?,?);
网络是一个向web服务器发送SOAP请求并使用soap2json.js将其转换为JSON的库。我确信网络部分没有任何问题。 我很确定返回的JSON对象'a'存在错误。我可以单独输出所有的值并在其他地方使用 - 当我试图将模型保存到集合时发生错误。
我错过了什么吗?
这样看来,的确如此 - 在设备上已经存在的数据库丢失我后来加列。我克服这个问题的最简单方法是进入应用程序的设备信息并清除应用程序的数据。我认为这与删除表格的效果相同,但要容易得多。 –