Как создать новую таблицу в базе данных, используя 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. Это бэкэнд-персонал, и он зависит от того, какой у вас бэкэнд, какой тип БД и т. Д.

Другие вопросы по тегам