如何在OData中的ID列中自动递增值

问题描述 投票:1回答:1

我想在我的OData模型中创建一个用户的新记录。对于创建的每个新记录,我希望自己创建userId并自动递增以便添加下一个用户。在应用调试器并检查时,代码也没有读取成功函数并直接执行错误部分。

signup.controller.js

return Controller.extend("Workspace.controller.App", {
  onInit: function() {
    var user = {
      name: "",
      email: "",
      password: ""
    };
    var oModel = new JSONModel(user);
    this.getView().setModel(oModel, "SUP");
  },

  signupButton: function(oEvent) {
    var oModel = this.getOwnerComponent().getModel("TEST");
    var oModel1 = this.getOwnerComponent().getModel("UID");
    var oModel2 = this.getOwnerComponent().getModel("SUP");
    var obj = {};
    obj.USERID = oModel1.getProperty("/x");
    obj.USERNAME = oModel2.getProperty("/name");
    obj.PASSWORD = oModel2.getProperty("/password");
    obj.USERMAIL = oModel2.getProperty("/email");

    oModel.create("/user", obj, {
      success: function(oData, oResponse) {
        MessageToast.show("Record Created Successfully...");

      },
      error: function(err, oResponse) {
        MessageToast.show("Record not Created...");
      }
    });
  },

  // ...
});
sapui5
1个回答
1
投票

参考Marc的建议,这是你应该怎么做的。

  1. 在“user”的createEntity方法中,读取UI请求发送的正文(oModel.create中的obj)。
  2. 读取用户表(构成用户实体Collection的表数据)并找到可用的最新用户ID。
  3. 与从步骤1收集的数据一起,插入包含您要插入的userId的记录。

希望这有助于解决。

© www.soinside.com 2019 - 2024. All rights reserved.