Как создать новую таблицу в базе данных с помощью 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.");
        }
    });
}

Добро пожаловать в Stack Overflow! Пожалуйста, пройдите экскурсию и прочитайте [Как мне задать хороший вопрос?]) (stackoverflow.com/help/how-to-ask) и опубликуйте Минимальный, полный и поддающийся проверке пример вашей попытки и конкретно укажите, где вы застряли.

brass monkey 10.08.2018 16:30
0
1
633
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Приложения UI5 - это клиентские приложения. Таким образом, создаваемые вами таблицы - это всего лишь таблица пользовательского интерфейса. Красивое представление данных. Но не смешивайте это с таблицами БД. Ваша БД управляется вашей бэкэнд-системой. Это означает, что у вас должна быть система, прослушивающая любой порт вашего сервера, чтобы она могла обрабатывать ваш запрос и манипулировать БД.

Обычно приложения UI5 отправляют данные на серверную конечную точку через вызов OData или вызов AJAX. Но оба являются просто протоколами для отправки группы данных в теле или заголовке HTTP-запроса на определенный URL-адрес.

Чтобы создать новую таблицу в вашей базе данных (я предполагаю, что это база данных SQL), вы должны предоставить на своем сервере службу, которая выполняет запрос CREATE SQL против вашей базы данных всякий раз, когда вы вызываете эту службу. Но это совсем не UI5. Это обслуживающий персонал, и это зависит от того, какой у вас сервер, какая БД и т. д.

Привет, Рафаэль, спасибо за ответ. Может быть, вы объясните, как создать этот пример службы или процедуры для HANA-DB?

Arthur Gewert 13.08.2018 10:14

На самом деле я не могу, так как я не бэк-эндер. Я отвечаю вам просто для того, чтобы вы знали о двух разных аспектах. Как и в вашем вопросе, похоже, смешано, и это две очень разные вещи. В Stackoverflow нет тега Hana, поэтому я предлагаю вам сохранить его только в тегах SAP и XSOdata и переписать свой вопрос, спрашивая людей, как создать службу, которая позволяет создавать таблицы БД.

Rafael López Martínez 13.08.2018 10:39

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