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

Sapui5 如何在OData中自动递增ID列中的值,sapui5,Sapui5,我想在我的OData模型中创建一个新的用户记录。对于创建的每个新记录,我希望userId是自创建的,并为添加的下一个用户自动递增。当我应用调试器并进行检查时,代码也没有读取成功函数并直接执行错误部分 signup.controller.js 返回Controller.extend(“Workspace.Controller.App”{ onInit:function(){ 变量用户={ 姓名:“, 电邮:“, 密码:“ }; var-oModel=新的JSONModel(用户); this.ge

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

signup.controller.js

返回Controller.extend(“Workspace.Controller.App”{
onInit:function(){
变量用户={
姓名:“,
电邮:“,
密码:“
};
var-oModel=新的JSONModel(用户);
this.getView().setModel(oModel,“SUP”);
},
签名按钮:功能(oEvent){
var oModel=this.getOwnerComponent().getModel(“测试”);
var oModel1=this.getOwnerComponent().getModel(“UID”);
var oModel2=this.getOwnerComponent().getModel(“SUP”);
var obj={};
obj.USERID=omodel.getProperty(“/x”);
obj.USERNAME=omode2.getProperty(“/name”);
obj.PASSWORD=omode2.getProperty(“/PASSWORD”);
obj.USERMAIL=omode2.getProperty(“/email”);
oModel.create(“/user”,obj{
成功:功能(oData、oResponse){
MessageToast.show(“已成功创建记录…”);
},
错误:函数(错误、响应){
MessageToast.show(“未创建记录…”);
}
});
},
// ...
});

参考马克的建议,以下是你应该如何做

  • 在“user”的createEntity方法中,读取UI请求发送的主体(oModel.create中的obj)

  • 读取用户表(构成用户实体集合的表数据)并查找可用的最新用户ID

  • 与从步骤1收集的数据一起,插入带有您希望插入的用户ID的记录


  • 希望这有助于解决问题。

    应该在后端创建ID。您的控制台应该会告诉您为什么出错而没有成功。我只在后端创建了Id,但无法引用它,在创建用户后,您可以返回用户详细信息作为引用响应。在步骤2中,如何找到最新的可用用户ID,即最后一行的数据选择可用用户ID值最高的行。