Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Updating value in parse table

I am using parse.com cloud in my android application. i want to increase a field by one I tried using three ways.

first i tried getting object using parseQuery.get(id) but it gives no object found for update after using parseObject.increament().

ParseQuery<ParseObject> parseQuery = ParseQuery.getQuery("Waive");
        try {
            ParseObject object=parseQuery.get(id);

            object.increment("numberOfViews");


            object.saveInBackground(new SaveCallback() {

                @Override
                public void done(ParseException arg0) {
                    // TODO Auto-generated method stub
                    if(arg0==null){
                        Log.e("incremented", "by one");
                    }
                    else{
                        Log.e("not incremented", "by one");
                        arg0.printStackTrace();
                    }
                }
            });
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            Log.e("exception", e+"");
            e.printStackTrace();

        }

second way i used.i tried using ParseObject.increament but it gives no object found for update.

ParseQuery< ParseObject> query=new ParseQuery<ParseObject>("Waive");
        query.getInBackground(id, new GetCallback<ParseObject>() {

            @Override
            public void done(ParseObject object, ParseException e) {
                // TODO Auto-generated method stub
                Log.e("object id", object+"");
                if(e==null && object!=null){


                    object.increment("numberOfViews");
                    try {
                        object.save();
                    } catch (ParseException exp) {
                        // TODO Auto-generated catch block
                        Log.e("exception", exp.getMessage());
                        exp.printStackTrace();
                    }
                }

            }
        });
    }

third way i tried ,first of all i get the value of that field then increamented that value by one and inserted that value in table by using parseObject.put

ParseQuery< ParseObject> query=new ParseQuery("Waive"); query.getInBackground(id, new GetCallback() {

        @Override
        public void done(ParseObject object, ParseException e) {
            // TODO Auto-generated method stub
            Log.e("object id", object+"");
            if(e==null && object!=null){
                int tmp=(Integer)object.getNumber("numberOfViews");
                object.put("numberOfViews", tmp+1);
                try {
                    object.save();
                } catch (ParseException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                    Log.e("exception", e1.getMessage());
                    e1.printStackTrace();
                }


            }

        }
    });
}

but neither of these three is working please help me out.
like image 520
Mansuu.... Avatar asked Jun 28 '26 08:06

Mansuu....


1 Answers

It is due to the permission issues. Because you are trying to update a value you are not authorized for. Make it public by editing your table security on parse.com make it public writable to update by another user too

like image 56
Mansuu.... Avatar answered Jul 01 '26 10:07

Mansuu....