Titanium 钛合金中的更新查询问题

Titanium 钛合金中的更新查询问题,titanium,titanium-mobile,titanium-alloy,Titanium,Titanium Mobile,Titanium Alloy,我不熟悉钛和合金框架。我创建了模型来存储一些数据。我能够插入和检索数据。我不知道如何更新行 按照我的建议,我做了如下工作: var userLang = Alloy.Collections.userLanguage; var models = Alloy.createModel("userLanguage"); models.fetch({id: 1}); models.save({ languageID: langID, languageTex

我不熟悉钛和合金框架。我创建了模型来存储一些数据。我能够插入和检索数据。我不知道如何更新行

按照我的建议,我做了如下工作:

var userLang = Alloy.Collections.userLanguage;   
var models = Alloy.createModel("userLanguage");
    models.fetch({id: 1});
    models.save({
       languageID: langID,
       languageText: lang
    });
上面的代码没有显示任何错误,但是当我尝试从表中选择一行时

var userLang = Alloy.createModel('userLanguage');
 userLang.fetch({
        query: {
            statement: "SELECT * FROM userLanguage WHERE id = ?;",
            params: [ 1 ]
        }
    });
 alert("Updated value : "+userLang.get("languageText"));
型号

exports.definition = {
    config : {
        "columns": {
            "id": "integer",
            "languageID": "integer",
            "languageText": "text"
        },
        "adapter": {
            "type": "sql",
            "collection_name": "userLanguage"
        }
    }
};
所选行未按预期更新

…我需要你的帮助

我猜你说的是脊梁骨。如果是这样,那么您可以在下面看到一个如何更新模型的示例

您可以在此处找到更多信息:


要更新模型,应首先从集合中获取它

var userLang = Alloy.Collections.userLanguage; 
userLang.fetch();
var langModel=userLang.get({
            id:1
     });
然后使用set修改模型的属性

langModel.set({
      languageText:'new value'
});
然后保存它

langModel.save();
如果将id作为主键,则不应更新id。。。
您应该在获取任何模型之前和更新模型之后获取数据。

上述代码不起作用。你能建议我在附近工作吗。我们已经设置了上述答案中的值,并用原始代码更新了我的问题。代码有什么问题。请建议一些解决方案将“id属性”:“id”添加到您模型中的“适配器”。我尝试了您的建议,但无法更新行。你能给我举个例子吗。请在
适配器中获得
idAttribute
?我得到以下错误,未捕获的TypeError无法通过添加模型调用未定义问题的方法“set”。这是完全错误的。只更新一个模型不需要获取整个集合。另外,如果你想得到一个模型,你可以只使用
get(id)
。也不需要执行
设置
然后
保存
。我不清楚您是否可以更新您的答案。请尝试您的建议,但我无法更新行。你能给我举个例子吗。请
langModel.save();