【问题标题】:Error 1048 on android studio sending data to databaseandroid studio 向数据库发送数据时出现错误 1048
【发布时间】:2021-03-02 04:36:08
【问题描述】:

当我尝试在我的送货应用程序中创建订单时,我遇到了这个问题,1 周以来我搜索了我的应用程序的所有代码,但我找不到问题。有谁能够帮我?我尝试在我的项目中查找 .php 文件,但它们不存在。

这是错误

    p {
        margin: 12px 15px 12px 15px;
    }
    </style>
    </head>
    <body>
        <div id="container">
            <h1>A Database Error Occurred</h1>
            <p>Error Number: 1048</p><p>Column 'delivery_time' cannot be null</p><p>INSERT INTO `orders` (`user_id`, `pickup_comapny_name`, `pickup_first_name`, `pickup_last_name`, `pickup_mob_number`, `pickupaddress`, `pickup_lat`, `pickup_long`, `item_description`, `item_quantity`, `delivery_date`, `pickup_special_inst`, `dropoff_first_name`, `dropoff_last_name`, `dropoff_mob_number`, `dropoff_special_inst`, `dropoffaddress`, `dropoff_lat`, `dropoff_long`, `parcel_height`, `parcel_width`, `parcel_lenght`, `parcel_weight`, `delivery_distance`, `delivery_status`, `delivery_cost`, `vehicle_type`, `delivery_type`, `driver_delivery_cost`, `dropoff_comapny_name`, `delivery_time`, `dropoff_country_code`, `pickup_country_code`) VALUES ('1543', '', 'New ', 'New ', '5323526565', 'Farga Oeste 1037, Rivadavia, San Juan, Argentina', '-31.544313304096182', '-68.57794560492037', 'Package ', '2', 'Nov 18, 2020', 'Package com.bones.wp ', 'Alquiler ', 'Alquiler ', '2656588885', 'Package ', 'Cmte. Cabot Oeste, Rivadavia, San Juan, Argentina', '-31.549210090390925', '-68.57430282980202', '30 cm', '30 cm', '10 cm', '5 Kilos', '0.64', '5', '3000.00', 'Bicicleta', '2HOUR', '3000', 'Alquiler ', NULL, '56', '56')</p><p>Filename: models/StandardModel.php</p><p>Line Number: 56</p>    </div>
    </body>
    </html>
D/OkHttp: <-- END HTTP (2353-byte body)

这是我发送到服务器的数据代码。

CreateOrderSecond

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.btn_submit:
                Utilities.hideKeyboard(createOrderTwoBinding.btnSubmit);
                countryCode = createOrderTwoBinding.ccp.getSelectedCountryCode();
                Log.e(TAG, ">>>>>>>>>>>>>>" + countryCode);

                companyName = createOrderTwoBinding.etCompany.getText().toString();
                firstName = createOrderTwoBinding.etFirstName.getText().toString();
                lastName = createOrderTwoBinding.etLastName.getText().toString();
                mobile = createOrderTwoBinding.etMobile.getText().toString();
                dropOffAddress = createOrderTwoBinding.etDropoffAddress.getText().toString();

                parcelWeight = pesoP.getText().toString();
                parcelLenght = longiP.getText().toString();
                parcelWidth = anchoP.getText().toString();
                parcelHeight = altoP.getText().toString();

                dropOffSpecialInstruction = createOrderTwoBinding.etDropSpecialInst.getText().toString();

                if (isValid()) {
                    DeliveryCheckout deliveryCheckout = new DeliveryCheckout();
                    Bundle bundle = new Bundle();

                    deliveryDTO.setDropoffComapnyName(companyName);
                    deliveryDTO.setDropoffFirstName(firstName);
                    deliveryDTO.setDropoffLastName(lastName);
                    deliveryDTO.setDropoffMobNumber(mobile);
                    deliveryDTO.setDropoffaddress(dropOffAddress);
                    deliveryDTO.setParcelHeight(parcelHeight);
                    deliveryDTO.setParcelLenght(parcelLenght);
                    deliveryDTO.setParcelWeight(parcelWeight);
                    deliveryDTO.setParcelWidth(parcelWidth);
                    deliveryDTO.setDropoffSpecialInst(dropOffSpecialInstruction);
                    deliveryDTO.setVehicleType(vehicleType);
                    deliveryDTO.setDropoffLat(dropOffLat);
                    deliveryDTO.setDropoffLong(dropOffLong);
                    deliveryDTO.setDropoffCountryCode(countryCode);

                    if (rescheduleStatus) {
                        callRescheduleOrderBookApi();
                    } else {

                        Location loc1 = new Location("");
                        loc1.setLatitude(Double.parseDouble(deliveryDTO.getPickupLat()));
                        loc1.setLongitude(Double.parseDouble(deliveryDTO.getPickupLong()));

                        Location loc2 = new Location("");
                        loc2.setLatitude(Double.parseDouble(dropOffLat));
                        loc2.setLongitude(Double.parseDouble(dropOffLong));

                        float distanceInkms = (loc1.distanceTo(loc2)) / 1000;

                        if (vehicleType.equalsIgnoreCase(getString(R.string.bike))) {
                            totalDeliveryCost = distanceInkms * Double.parseDouble(otherDTO.getVehicle().getMotorbike());
                        } else if (vehicleType.equalsIgnoreCase(getString(R.string.car))) {
                            totalDeliveryCost = distanceInkms * Double.parseDouble(otherDTO.getVehicle().getCar());
                        } else if (vehicleType.equalsIgnoreCase(getString(R.string.van))) {
                            totalDeliveryCost = distanceInkms * Double.parseDouble(otherDTO.getVehicle().getVan());
                        } else {
                            totalDeliveryCost = distanceInkms * Double.parseDouble(otherDTO.getVehicle().getTruck());
                        }

                        driverDeliveryCost = totalDeliveryCost - ((totalDeliveryCost * Float.parseFloat(otherDTO.getVehicle().getDriverPercentage()) / 100));

                        try {
                            deliveryDTO.setDeliveryDistance(String.format("%.2f", Double.parseDouble(distanceInkms + "")));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }


                        deliveryDTO.setDeliveryCost(costoA);
                        deliveryDTO.setDriverDeliveryCost(costoB);

/*
                        try {
                            String price = totalDeliveryCost + "";
                            if (price.contains(",")) {
                                price = price.replaceAll(",", "");
                            } else {
                                price = totalDeliveryCost+"";
                            }

                            deliveryDTO.setDeliveryCost(String.format("%2f", Double.parseDouble(price)));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }

 */
/*
                        try {
                            String price = driverDeliveryCost + "";
                            if (price.contains(",")) {
                                price = price.replaceAll(",", "");
                            } else {
                                price = driverDeliveryCost + "";
                            }

                            deliveryDTO.setDriverDeliveryCost(String.format("%2f", Double.parseDouble(price)));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }

 */


                        bundle.putParcelable("deliveryDTO", deliveryDTO);
                        deliveryCheckout.setArguments(bundle);
                        addFragmentWithoutRemove(R.id.container_main, deliveryCheckout, "DeliveryCheckout");
                    }
                }

DeliveryCheckout.java

@Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.btn_submit:
                Utilities.hideKeyboard(deliveryBookBinding.btnSubmit);
                callOrderBookApi();
                break;
            case R.id.iv_back:
                ((DrawerContentSlideActivity) context).popFragment();
                break;
        }
    }

    public void callOrderBookApi() {
        if (!utilities.isNetworkAvailable())
            utilities.dialogOK(context, "", context.getResources().getString(R.string.network_error), context.getString(R.string.ok), false);
        else {
            final ProgressDialog mProgressDialog;
            mProgressDialog = ProgressDialog.show(context, null, null);
            mProgressDialog.setContentView(R.layout.progress_loader);
            mProgressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
            mProgressDialog.setCancelable(false);

            Map<String, String> map = new HashMap<>();
            map.put("user_id", appSession.getUser().getData().getUserId());
            map.put("pickup_comapny_name", deliveryDTO.getPickupComapnyName());
            map.put("pickup_first_name", deliveryDTO.getPickupFirstName());
            map.put("pickup_last_name", deliveryDTO.getPickupLastName());
            map.put("pickup_mob_number", deliveryDTO.getPickupMobNumber());
            map.put("pickupaddress", deliveryDTO.getPickupaddress());
            map.put("item_description", deliveryDTO.getItemDescription());
            map.put("item_quantity", deliveryDTO.getItemQuantity());
            map.put("delivery_date", deliveryDTO.getDeliveryDate());
            map.put("pickup_special_inst", deliveryDTO.getPickupSpecialInst());
            map.put("dropoff_first_name", deliveryDTO.getDropoffFirstName());
            map.put("dropoff_last_name", deliveryDTO.getDropoffLastName());
            map.put("dropoff_mob_number", deliveryDTO.getDropoffMobNumber());
            map.put("dropoff_special_inst", deliveryDTO.getDropoffSpecialInst());
            map.put("dropoffaddress", deliveryDTO.getDropoffaddress());
            map.put("parcel_height", deliveryDTO.getParcelHeight());
            map.put("parcel_width", deliveryDTO.getParcelWidth());
            map.put("parcel_lenght", deliveryDTO.getParcelLenght());
            map.put("parcel_weight", deliveryDTO.getParcelWeight());
            map.put("delivery_type", deliveryDTO.getDeliveryType());
            map.put("driver_delivery_cost", deliveryDTO.getDriverDeliveryCost());
            map.put("delivery_distance", deliveryDTO.getDeliveryDistance());

            try {
                map.put("delivery_cost", String.format("%.2f", Double.parseDouble(deliveryDTO.getDeliveryCost())));
            } catch (Exception e) {
                map.put("delivery_cost", deliveryDTO.getDeliveryCost());
                e.printStackTrace();
            }

            map.put("dropoff_comapny_name", deliveryDTO.getDropoffComapnyName());
            map.put("vehicle_type", deliveryDTO.getVehicleType());
            map.put("pickUpLat", deliveryDTO.getPickupLat());
            map.put("pickUpLong", deliveryDTO.getPickupLong());
            map.put("dropOffLong", deliveryDTO.getDropoffLong());
            map.put("dropOffLat", deliveryDTO.getDropoffLat());
            map.put(PN_APP_TOKEN, APP_TOKEN);

            map.put("dropoff_country_code", deliveryDTO.getDropoffCountryCode());
            map.put("pickup_country_code", deliveryDTO.getPickupCountryCode());

            APIInterface apiInterface = APIClient.getClient();
            Call<OtherDTO> call = apiInterface.callCreateOrderApi(map);
            call.enqueue(new Callback<OtherDTO>() {
                @Override
                public void onResponse(Call<OtherDTO> call, Response<OtherDTO> response) {
                    if (mProgressDialog != null && mProgressDialog.isShowing())
                        mProgressDialog.dismiss();
                    if (response.isSuccessful()) {
                        try {
                            if (response.body().getResult().equalsIgnoreCase("success")) {
                                utilities.dialogOKre(context, "", response.body().getMessage(), getString(R.string.ok), new OnDialogConfirmListener() {
                                    @Override
                                    public void onYes() {
                                        ((DrawerContentSlideActivity) context).popAllFragment();
                                    }

                                    @Override
                                    public void onNo() {

                                    }
                                });
                            } else {
                                utilities.dialogOK(context, "", response.body().getMessage(), context.getString(R.string.ok), false);
                            }
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                }

                @Override
                public void onFailure(Call<OtherDTO> call, Throwable t) {
                    if (mProgressDialog != null && mProgressDialog.isShowing())
                        mProgressDialog.dismiss();
                    Log.e(TAG, t.toString());
                    utilities.dialogOK(context, "", context.getResources().getString(R.string.server_error), context.getResources().getString(R.string.ok), false);

                }
            });
        }
    }

DeliveryDTO

@Override
    public void writeToParcel(Parcel parcel, int i) {
        parcel.writeString(result);
        parcel.writeString(error);
        parcel.writeString(message);
        parcel.writeParcelable(data, i);
        parcel.writeTypedList(dataList);
    }

    public class Data implements Parcelable {
        @SerializedName("order_id")
        @Expose
        private String orderId;
        @SerializedName("profile_image")
        @Expose
        private String profileImage;
        @SerializedName("user_id")
        @Expose
        private String userId;
        @SerializedName("pickup_comapny_name")
        @Expose
        private String pickupComapnyName;
        @SerializedName("dropoff_comapny_name")
        @Expose
        private String dropoffComapnyName;
        @SerializedName("pickup_first_name")
        @Expose
        private String pickupFirstName;
        @SerializedName("pickup_last_name")
        @Expose
        private String pickupLastName;
        @SerializedName("pickup_mob_number")
        @Expose
        private String pickupMobNumber;
        @SerializedName("pickup_building_type")
        @Expose
        private String pickupBuildingType;
        @SerializedName("pickup_elevator")
        @Expose
        private String pickupElevator;
        @SerializedName("pickup_floor")
        @Expose
        private String pickupFloor;
        @SerializedName("pickup_person")
        @Expose
        private String pickupPerson;
        @SerializedName("drop_building_type")
        @Expose
        private String dropBuildingType;
        @SerializedName("drop_elevator")
        @Expose
        private String dropElevator;
        @SerializedName("drop_floor")
        @Expose
        private String dropFloor;
        @SerializedName("drop_person")
        @Expose
        private String dropPerson;
        @SerializedName("pickup_landline_number")
        @Expose
        private String pickupLandlineNumber;
        @SerializedName("pickupaddress")
        @Expose
        private String pickupaddress;
        @SerializedName("dropoffaddress")
        @Expose
        private String dropoffaddress;
        @SerializedName("pickup_unit_number")
        @Expose
        private String pickupUnitNumber;
        @SerializedName("pickup_house_number")
        @Expose
        private String pickupHouseNumber;
        @SerializedName("pickup_street_name")
        @Expose
        private String pickupStreetName;
        @SerializedName("pickup_street_suff")
        @Expose
        private String pickupStreetSuff;
        @SerializedName("pickup_suburb")
        @Expose
        private String pickupSuburb;
        @SerializedName("pickup_state")
        @Expose
        private String pickupState;
        @SerializedName("pickup_postcode")
        @Expose
        private String pickupPostcode;
        @SerializedName("pickup_country")
        @Expose
        private String pickupCountry;
        @SerializedName("item_description")
        @Expose
        private String itemDescription;
        @SerializedName("item_quantity")
        @Expose
        private String itemQuantity;
        @SerializedName("delivery_date")
        @Expose
        private String deliveryDate;
        @SerializedName("pickup_special_inst")
        @Expose
        private String pickupSpecialInst;
        @SerializedName("dropoff_first_name")
        @Expose
        private String dropoffFirstName;
        @SerializedName("dropoff_last_name")
        @Expose
        private String dropoffLastName;
        @SerializedName("dropoff_mob_number")
        @Expose
        private String dropoffMobNumber;
        @SerializedName("dropoff_landline_number")
        @Expose
        private String dropoffLandlineNumber;
        @SerializedName("message")
        @Expose
        private String message;
        @SerializedName("dropoff_special_inst")
        @Expose
        private String dropoffSpecialInst;
        @SerializedName("dropoff_unit_number")
        @Expose
        private String dropoffUnitNumber;
        @SerializedName("dropoff_house_number")
        @Expose
        private String dropoffHouseNumber;
        @SerializedName("dropoff_stree_name")
        @Expose
        private String dropoffStreeName;
        @SerializedName("dropoff_street_suff")
        @Expose
        private String dropoffStreetSuff;
        @SerializedName("dropoff_suburb")
        @Expose
        private String dropoffSuburb;
        @SerializedName("dropoff_state")
        @Expose
        private String dropoffState;
        @SerializedName("dropoff_postcode")
        @Expose
        private String dropoffPostcode;
        @SerializedName("dropoff_country")
        @Expose
        private String dropoffCountry;
        @SerializedName("parcel_height")
        @Expose
        private String parcelHeight;
        @SerializedName("parcel_width")
        @Expose
        private String parcelWidth;
        @SerializedName("parcel_lenght")
        @Expose
        private String parcelLenght;
        @SerializedName("parcel_weight")
        @Expose
        private String parcelWeight;
        @SerializedName("delivery_distance")
        @Expose
        private String deliveryDistance;
        @SerializedName("delivery_duration")
        @Expose
        private String deliveryDuration;
        @SerializedName("delivery_time_duration")
        @Expose
        private String deliveryTimeDuration;
        @SerializedName("status")
        @Expose
        private String status;
        @SerializedName("pickup_lat")
        @Expose
        private String pickupLat;
        @SerializedName("pickup_long")
        @Expose
        private String pickupLong;
        @SerializedName("dropoff_lat")
        @Expose
        private String dropoffLat;
        @SerializedName("dropoff_long")
        @Expose
        private String dropoffLong;
        @SerializedName("driver_id")
        @Expose
        private String driverId;
        @SerializedName("driver_delivery_cost")
        @Expose
        private String driverDeliveryCost;
        @SerializedName("signature_image")
        @Expose
        private String signatureImage;
        @SerializedName("signature_name")
        @Expose
        private String signatureName;
        @SerializedName("received_user_image")
        @Expose
        private String receivedUserImage;
        @SerializedName("receiver_id")
        @Expose
        private String receiverId;
        @SerializedName("delivery_status")
        @Expose
        private String deliveryStatus;
        @SerializedName("delivery_cost")
        @Expose
        private String deliveryCost;
        @SerializedName("vehicle_type")
        @Expose
        private String vehicleType;
        @SerializedName("delivery_type")
        @Expose
        private String deliveryType;
        @SerializedName("shop_name")
        @Expose
        private String shopName;
        @SerializedName("shop_address")
        @Expose
        private String shopAddress;
        @SerializedName("shop_exp_price")
        @Expose
        private String shopExpPrice;
        @SerializedName("shop_item_description")
        @Expose
        private String shopItemDescription;
        @SerializedName("shop_item_quantity")
        @Expose
        private String shopItemQuantity;
        @SerializedName("cancel_status")
        @Expose
        private String cancelStatus;
        @SerializedName("created_at")
        @Expose
        private String createdAt;
        @SerializedName("updated_at")
        @Expose
        private String updatedAt;

        @SerializedName("firstname")
        @Expose
        private String firstname;
        @SerializedName("lastname")
        @Expose
        private String lastname;
        @SerializedName("phone")
        @Expose
        private String phone;
        @SerializedName("dropoff_country_code")
        @Expose
        private String dropoffCountryCode;
        @SerializedName("pickup_country_code")
        @Expose
        private String pickupCountryCode;
        @SerializedName("avgratingdriver")
        @Expose
        private String avgratingdriver;

这些代码很长,所以我放了相关数据。

【问题讨论】:

    标签: php android database android-studio


    【解决方案1】:

    你的数据库有问题(它在哪里?,什么样的?SQL?) 因为错误是:“列 'delivery_time' 不能为空”,并且您永远不会在您的 java 代码中填写此列。

    【讨论】:

    • 或者在数据库中将该列声明为nullable
    猜你喜欢
    • 1970-01-01
    • 2021-03-12
    • 1970-01-01
    • 2021-10-23
    • 2016-05-14
    • 1970-01-01
    • 2020-11-22
    • 2020-08-31
    • 1970-01-01
    相关资源
    最近更新 更多