Как создать новую таблицу в базе данных, используя sapui5?
Я ищу твою помощь. Я создал веб-приложение. Здесь я могу создать таблицу и контролировать записи. Теперь я в отчаянии, потому что понятия не имею, как я могу сохранить эту таблицу в базе данных. Вот функция сохранения:
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.");
}
});
}
1 ответ
Приложения UI5 являются приложениями на стороне клиента. Таким образом, таблицы, которые вы создаете, являются только таблицами пользовательского интерфейса. Хорошее представление данных. Но не смешивайте это с таблицами БД. Ваша БД управляется вашей серверной системой. Это означает, что у вас должна быть система, прослушивающая любой порт вашего сервера, чтобы она могла обслуживать ваш запрос и манипулировать БД.
Обычно приложения UI5 отправляют данные в конечную точку сервера с помощью вызова OData или вызова AJAX. Но оба являются просто протоколами для отправки группы данных в теле или заголовке HTTP-запроса на определенный URL-адрес.
Чтобы создать новую таблицу в вашей БД (я предполагаю, что это база данных SQL), вы должны предоставить сервис на вашем сервере, который будет выполнять запрос CREATE SQL против вашей базы данных всякий раз, когда вы вызываете эту службу. Но это совсем не UI5. Это бэкэнд-персонал, и он зависит от того, какой у вас бэкэнд, какой тип БД и т. Д.