如何使用 sapui5 在数据库中创建一个新的 table?
How to create a new table in database using sapui5?
我正在寻求你的帮助。我创建了一个网络应用程序。在这里我可以创建一个 table 和控制条目。现在我很沮丧,因为我不知道如何将这个 table 保存到数据库中。这是保存功能:
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.");
}
});
}
UI5 个应用程序是客户端应用程序。因此,您创建的 table 只是 UI table。一个很好的数据表示。但不要将其与 DB tables 混用。
您的数据库由后端系统管理。这意味着你应该有一个系统监听你服务器的任何端口,这样它就可以处理你的请求并操纵数据库。
通常 UI5 应用程序通过 OData 调用或 AJAX 调用将数据发送到后端端点。但两者都只是将 HTTP 请求的 body 或 header 中的一堆数据发送到特定 URL 的协议。
要在您的数据库中创建一个新的 Table(我猜它是一个 SQL 数据库),您应该在您的服务器中公开一个执行 CREATE SQL 查询的服务每当您调用该服务时,都会再次访问您的数据库。但这根本不是 UI5。这是后台人员,要看你有什么样的后台,什么样的DB等等等等
我正在寻求你的帮助。我创建了一个网络应用程序。在这里我可以创建一个 table 和控制条目。现在我很沮丧,因为我不知道如何将这个 table 保存到数据库中。这是保存功能:
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.");
}
});
}
UI5 个应用程序是客户端应用程序。因此,您创建的 table 只是 UI table。一个很好的数据表示。但不要将其与 DB tables 混用。 您的数据库由后端系统管理。这意味着你应该有一个系统监听你服务器的任何端口,这样它就可以处理你的请求并操纵数据库。
通常 UI5 应用程序通过 OData 调用或 AJAX 调用将数据发送到后端端点。但两者都只是将 HTTP 请求的 body 或 header 中的一堆数据发送到特定 URL 的协议。
要在您的数据库中创建一个新的 Table(我猜它是一个 SQL 数据库),您应该在您的服务器中公开一个执行 CREATE SQL 查询的服务每当您调用该服务时,都会再次访问您的数据库。但这根本不是 UI5。这是后台人员,要看你有什么样的后台,什么样的DB等等等等