SAPUI5 Добавить данные в базу данных HanaDatabase - PullRequest
0 голосов
/ 27 апреля 2018

Я новичок в SAPUI5 и HanaDatabase, в настоящее время я создаю приложение CRUD с SAPUI и HanaDatabase. Я прочитал онлайн-учебник из Интернета, но я не очень понимаю с ним. Я следую шаг за шагом, чтобы вставить данные в базу данных Hana, но это не удалось.

Ниже приведен мой код.

View.XML

<semantic:SemanticPage id="AddProductPage" headerPinnable="false" toggleHeaderOnTitleClick="false">


        <semantic:titleHeading>
            <Title text="Product"/>
        </semantic:titleHeading>


        <semantic:headerContent>
                <Label text="Product Name" width="100%" id="lb_Productname"/>
                <Input width="60%" id="input_Productname"/>

                <Label text="Product Category" width="100%" id="lb_Productcategory"/>
                <Input width="60%" id="input_Productcategory"/>

                <Label text="Product Description" width="100%" id="lb_Productdescription"/>
                <TextArea width="60%" id="area_Productdescription"/>                

                <Label text="Product Description" width="100%" id="lb_Productprice"/>
                <Input width="60%" id="input_Productprice"/>

                <Label text="" width="100%"/>

                <Button text="Add" width="20%" id="bt_Add" press=""/>
                <Button text="Cancel" width="20%" id="bt_Cancel" press="onClearProduct"/>
        </semantic:headerContent>

</semantic:SemanticPage>

Controller.JS

onInsertProduct: function() {
            var oView = this.getView();
            var oModel = this.getView().getModel();
            var mNewEntry = {};

            mNewEntry.PRODUCTNAME =  oView.byId("input_Productname").getValue();
            mNewEntry.PRODUCTDESCRIPTION = oView.byId("area_Productdescription").getValue();
            mNewEntry.PRODUCTCATEGORY =  oView.byId("input_Productcategory").getValue();
            mNewEntry.PRODUCTPRICE =  oView.byId("input_Productprice").getValue();

            oModel.create("/DATA", mNewEntry, null function(data){

                sap.m.MessageBox.show("Record Insert Successfully", {
                    icon : sap.m.MessageBox.Icon.SUCCESS,
                    title : "Application",
                    styleClass : "sapUiSizeCompact"
                });
            }), function(err){
                sap.m.MessageBox.show("Record insert failed, Please try again", {
                    icon : sap.m.MessageBox.Icon.ERROR,
                    title : "Application",
                    styleClass : "sapUiSizeCompact"
                });
            });

        },

1 Ответ

0 голосов
/ 27 апреля 2018

Я полагаю, вы внедрили OData-Service для работы с данными в бэкэнде?

Вы уверены, что ваша oModel включает модель для этого OData-Service? Я использую следующий код, и это прекрасно работает:

var oModel = new sap.ui.model.odata.v2.ODataModel("/sap/opu/odata/sap/[name of OData-Service/");

    oModel.create("/[name of OData-entity]", mNewEntry, {
        method: "POST",
            success: function(){
                // for example your success message...
            },
            error: function() {
                // for example your error message...
            }
    });

Надеюсь, это то, что вам нужно:)

...