我正在寻找您的帮助。我创建了一个webapp。在这里,我可以创建一个表并控制条目。现在我很沮丧,因为我不知道如何将该表保存到数据库。这是保存功能:
onSave: function() {
//Create all the records added to table via Json model
var oTable = this.getView().byId("packItem");
// Get the table Model
var oModel = oTable.getModel();
// Get Items of the Table
var aItems = oTable.getItems();
// Define an empty Array
var itemData = [];
for (var iRowIndex = 0; iRowIndex < aItems.length; iRowIndex++) {
var l_material = oModel.getProperty("Material", aItems[iRowIndex].getBindingContext());
var l_batch = oModel.getProperty("Batch", aItems[iRowIndex].getBindingContext());
var l_quantity = oModel.getProperty("Quantity", aItems[iRowIndex].getBindingContext());
var l_unit = oModel.getProperty("Unit", aItems[iRowIndex].getBindingContext());
itemData.push({
Batch: l_batch,
Matnr: l_material,
Qty: l_quantity,
Uom: l_unit,
});
}
// Get the values of the header input fields
var ComCode = this.getView().byId("inputCC").getValue();
var Plant = this.getView().byId("inputPlant").getValue();
// Create one emtpy Object
var oEntry1 = {};
oEntry1.Bukrs = ComCode;
oEntry1.Werks = Plant;
var oModel1 = new sap.ui.model.odata.ODataModel(""); // Define the model
this.getView().setModel(oModel1);// set the model
oModel1.setHeaders({"X-Requested-With": "X"});
oModel1.create("", oEntry1, { // Call the OData Service (.creat Function)
success: function(oData, oResponse) {
},
error: function(oError) {
alert("Failure - OData Service could not be called. Please check the Network Tab at Debug.");
}
});
}
答案 0 :(得分:1)
UI5应用程序是客户端应用程序。因此,您创建的表只是UI表。很好的数据表示。但是不要将其与数据库表混合使用。 您的数据库由后端系统管理。这意味着您应该有一个系统可以监听服务器的任何端口,以便它可以满足您的请求并操纵数据库。
通常,UI5应用程序通过OData调用或AJAX调用将数据发送到后端端点。但是,这两种协议都是将HTTP请求的正文或标头中的一堆数据发送到特定URL的协议。
要在数据库中创建一个新表(我想这是一个SQL数据库),则应在服务器中公开一个服务,该服务在每次调用该服务时都会再次执行CREATE SQL查询。但这根本不是UI5。这是后端人员,这取决于您拥有哪种后端,哪种数据库等等。